I'm not sure, but I've noticed that Melodyne tends to render MIDI quite late relative to the transients that it's detected. Possibly there is some tie-in with buffer size, but the error I've been seeing is far too great to be accounted for by anything like that. I haven't looked into it in enough detail to file a problem report, but it seems like a bug.
My immediate take is that Melodyne does a better job of converting pitch and amplitude than VVocal or Audiosnap (amplitude only), but Audiosnap does a much better job of extracting timing. So for drum replacement, which obviously doesn't require detecting pitch, I would continue to use Audiosnap.