I've been investigating MSMQT and immediately ran into a basic problem. I created an MSMQT Receive port and configured it appropriately. I then tried to submit messages using the System.Messaging classes in .NET. I couldn't get this to work. Every time I got an error message saying the MSMQ is not installed on my machine (which is quite true!).
I did some investigation, and soon found that indeed, you cannot submit messages to a local MSMQT Receive location using System.Messaging or any other API. You could do this from another box which has MSMQ installed, but not from the local server. Having said that, it is possible to set up MSMQ and MSMQT to run side-by-side on the same box (you need two NICs). I haven't tried this, but in this scenario, using an MSMQ API locally might work.
The suggested approach for local submission is to set up a file drop location and associated Receive location, and then bind this to an MSMQT Send port. You use the Send port to transmit the message to your local MSMQT Receive port! You could then programmatically save your data as a file to the file drop location in order to indirectly submit it to the MSMQT location. You could, of course, use some other transport instead of the File adapter
I got this information from a Microsoft web cast on the subject of MSMQT. The webcasts have proved a useful source of additional information in recent months. What a pity Microsoft don't make this issue clear in the product documentation!