Actually, the problem is most likely the "emulated port" as there is a known issue. What version are you using? I think the issue was fixed in 1.056. If you are using a legit copy, you can update via Steinberg's site:
www.steinberg.net
The site is terrible - but you'll be able to find your way through to the updates section for SX.
There is a manual fix for midi timing issues due to using emulated drivers, and it can be found after an installation of SX, here is a recap in my own words:
1. Locate your Cubase SX folder, (usually C:\programs\steinberg\cubasesx).
2. Here you will find a folder named 'MIDI Port Enabler'
3. Open this folder.
4.Pick the file "ignoreportfilter" and move it into the Cubase SX / SL application folder (one directory up).
5.Start Cubase SX / SL
6. Now all available MIDI ports provided by the MIDI interface driver will appear in the MIDI device list of Cubase SX / SL.
Please be aware that the MIDI ports now can show up 2 or 3 times in the list. If you're used to manage your MIDI IN by setting "All MIDI Inputs" in the MIDI IN selector, you should go to the Device Setup/All MIDI Inputs and disable the unwanted ports. Otherwise you will record MIDI from multiple ports which results in double MIDI notes.
This was posted on www.cubase.net a little while ago...