I've had this bug  open for over a year. The whole overall issue is
something that has bugged me for much longer than that, but we never had any
way to cope with track level transpose because we didn't actually have one
until we had track parameters.
In a normal MIDI sequencer, if I set a track to -2 and start playing a C major
scale, I actually play a Bb major scale. That's true any time that track is
the active one, and true for recording. That's the kind of behavior I always
had in mind for Rosegarden, with the idea of some automagic to move the
notation in the opposite direction. So I set the track to -2, start playing
in C major, hearing Bb major, and seeing C major notation.
That had been my idea for years, but an idea that never got done. What did
just get done is the exact opposite of that, but it still seems to have a
positive net effect as far as making our behavior consistent. I set a track
to -2, then start playing in C major, and when I look at the notation, it's
in D major. Rather than have the transpose affect the audible pitch, it
affects the recording in such a way as to preserve the pitch you heard while
you were playing.
This seems a little weird to me if I'm working out something in trumpet C
major and want to turn to the keyboard. I have to remember to play it in Bb
instead. But it's still vastly better than the original behavior, which was
I play in C, hear in C, then see notation in C, and hear Bb when I play it
I'd like to leave it at this, but I'm afraid it might be the trigger of an
onslaught of future bug reports about how our transpose is broken, so that's
why I thought I'd take it to the user list for opinions.
You can play with it in SVN as of revision 8576.
D. Michael McIntyre