Sorry it's taken me so long to get to this, but 3/4 seems suspicious. I'd think BroadcastDeviceNotification() [or SendMessageNotify() or whatever it calls internally] should be making a copy of the message data itself. Are we not doing that? Should we be doing that instead?