I posted a project to communicate with netMF boards via USB from a PC a while ago (http://tinyurl.com/l2dy6po). My solution uses a driver, but ignore that difference. I had the same USB debugging problem to work around.
Basically I Stop the USBController from debugging and use it when I want it. By default I have my device always boot into USB debug mode. See my USB.Init() method in the code I posted for the details. This may not be a great solution for everyone, but this works for me.