As another idea.
When sending your message did it say "RCS" or "SMS"?
If sending by RCS and the receiver does not have a data connection, it will not send. RCS is live messaging. If sent as an SMS then the service will hold the message and keep transmitting as soon as the receiver is on the network. It will still be marked as sent, even if they don't receive it for 4 hours. A good example is midnight on New Years Eve