I ran into this problem, too. A midi was recorded "free-style" in another DAW (against a .wav reference track), thus the midi bpm was left at the default 120 bpm. Importing that midi into my project, which has the real bpm tempo track configured, caused the midi to be stretched. It would really be nice if you could import a midi in the "seconds" timebase, rather than "beats" so it doesn't try to conform to the project's tempo track.
As a work-around, I inserted 200 measures of silence at the beginning of my project, and set the tempo of those 200 measures to match the bpm of the midi (120). Dropped the midi into that region. (It's important that the midi fits in the region completely, so scale the number of silent measures accordingly before dropping it in.) Then changed the track timebase from beats to seconds. Finally, I shifted the midi data over from the dummy measures into the actual project region, and the midi data preserved the original timing with no stretching. Finally I trimmed out the 200 measures of silence to clean things up.