Let's dig a little deeper here. A file saved as a Standard MIDI File Type 0 or Type 1 contains "native" tempo information encoded in the file header.
SONAR and Logic (and other programs) handle MIDI files the same way. If you have a new, blank project, choose Open, then navigate to a MIDI file and select it, the project will load the Standard MIDI File and acquire its tempo. This is because it's assumed that if you're treating a Standard MIDI File as a project, then you want to force the new project to play back at the tempo at which the file was created.
However if you are
importing a MIDI data file into a project, instead of opening it as a project, then the tempo information is ignored because it's assumed you want the file to play back at the project tempo. Preview is a browser function, and as the purpose of the browser is to allow importing files into an existing project, that's how the MIDI file plays back.
You might consider entering a feature request that when "Preview at host tempo" is NOT selected, then a MIDI file will play back at its encoded tempo, if present. However, I don't know if it's possible for SONAR to support two simultaneous, different tempos - the one for the project, and the one for file playback. Also, if it's a MIDI groove clip, I highly doubt that native tempo information is encoded anyway as the whole purpose of a groove clip is to be independent of tempo.