It only took me about two years, but finally identified one more source of midi position errors that creep into projects.
Try this, in a project with at least 2 midi tracks, midi events (notes and controllers) in one of them, and no midi events at time 1:00:00:00.
Select using time range: 1:00:00 to end of project.
Copy (CTL-C).
Move to another midi track. Set now time to 1:0:0. Paste.
So far, so good.
Now, select using time range again: 1:00:00 to end of project.
Cut (CTL-X)
Move to another midi track. Set now time to 1:0:0. Paste.
Presto. Your data is not correctly aligned. If you watch the 'selection range', as soon as you "CUT", it changes.
You must, with CUT-PASTE, set now time to the beginning of the changed selection range, while with COPY-PASTE, you must set Now time to the beginning of the original selection.