I’ve never suffered from midi timing errors but then I don’t play shred metal 190bpm, my stuff is more the performance than mechanical beats. I also tend to record anything that I play out via external keyboards before the mixing stage, so I know that it is set in stone and reproducible should my keyboards go awal.
In fact, I’ve often wondered if direct USB is actually faster because there’s no midi cable or legacy midi hardware involved, therefore theoretically you can transmit notes at the speed of USB and the keyboard handshaking, which is a lot faster than midi ever was/is.
I have suffered dropped messages usually due to chasing controllers or pitch bend, i.e. when there’s a lot of midi flying about. Can’t say whether this is the Cb or the USB drivers, or the keyboard. But careful programming and an understanding approach minimises these. No different with USB keyboards to my Midex8 via midi cable, or even using daisy chained THRU connectors.
The one problem with USB midi is the the devices disappear completely when you unplug them. This means that when if start Cb with your keyboards off then there’s no midi devices even if you turn them on - you have to restart Cubase! Whereas if you’ve to a midi device like the Midex8 or Motu, then you’d generally leave it plugged in and on, so it’s always showing 8 midi devices even if the keyboards are off. This gets me every time because don’t like to keep my keyboards powered up - a royal pita! Many people have petitioned for a rescan midi function but nothing yet.