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...