this morning the battery of my Lumia 920 was completely empty after a night in airplane mode. Never had this before.
But yesterday I had experimented with NFC support in my app and had had several cases when a call to PublishBinaryMessage() had returned a valid handle but did not throw an exception or call the messageTransmittedHandler. Most of the time I stopped debugging then (without StopPublishingMessage() having been called). I presume that happened when the message to send was too big for my NFC tag.
Looks like it is very important to call StopPublishingMessage() even if there was a problem.
Can anyone report of a case where publishing did not return either with an exception or the handler being called?