The simple and short answer is "you don't."
The more complex, long answer is that it can be done, but the amount of work required is likely to be way more expensive than the value and an alternate should be looked at (e.g. if you have any mechanism for a network interface, use a socket).
For the USB side you have to understand how USB works, at least in general terms. When you plug that device into the PC, the PC needs to have a driver that understands how to communicate with the device. The device, at the same time, needs to have a driver that understands how to talk to the PC. These drivers need to understand how each other work so they can effectively communicate.
When you use ActiveSync, what happens (with the older 4.2 stuff) is that ActiveSync on the PC has a serial over USB driver, so when you plug in your device, the PC says "hey, this looks like a serial device" and the ActiveSync itself does a PPP over serial connection using that serial layer. Down on the device, when the connection is made, a driver that the OEM put in (usbser.dll to be specific) fires up and negotiates with the PC then fires up ActiveSync's device client with finishes creating that network. Done and done. Newer devices use a similar mechanism but typically use RNDIS instead of serial over USB becasue PCs ship with ENDIS upport and it's more robust and faster.
Now that you want to remove ActiveSync, you have to provide those drivers - for both ends. The path of least resistance is probably to use HID. At least this way the PC-side is done (it's the same protocol a mouse uses, so any PC, be it Windows or Linux, that understands a USB mouse will have the driver for this). You still would have to write the HID driver for the device. Once you have that, you can then write an app for each end to use that USB pipe to communicate.
Of course all of this is going to also require that you deploy your driver(s) to the device and possibly PCs.