Why would single-use (harcoded) tokens not validate in the Message module, when the dynamic version does?
Provided you're using Rules to send the message, i'll suggest you to manually save the message entity after having set all required fields but right before sending the message.

Single Use token are evaluated at save time.