Does the mobile device create the timestamp (hours, minutes, seconds) for a text message? Or does the wireles network create the timestamp?
I think the "sent time" should be the time it was sent from the server - that is the actual time of transmission. It doesn't make sense to me to set the sent time to the time the message was created and saved by the user because the user never actually sent it - in the offline case.
It feels a little like when you purchase something that needs to be shipped to you. Generally, the shipper doesn't send you the "we've shipped your package" until it has actually shipped their location. They wouldn't send that message when they pull your product off the shelf or even received the invoice.