You're right Morgan, you can't read CVs on the main, only on the programming track.
However, QSI did provide this wonderfull 'CV query' facility, ie CV64, whereby you can ask the decoder (on the main line via programming-on-the-main) 'what's the value in CV x'. In my opinion, that's the best thing about QSIs; I wish other brands would do this too.
Beware: if doing an indexed CV, you must set the primary index (and the secondary index depending on the CV) BEFORE querying the decoder.
CV62, Programming Acknowledgement, will also speak to you when programming on the main, but IMO it gets old fast. That's why I turn it off. And it interferes when a programming service like JMRI is doing indexed CVs.
I'm with KJ, I want to know how to it 'manually' rather than depending on the 'magic' of something like JMRI. Don't get me wrong; I use JMRI or QSI's CVManager when it's convenient (like when doing _lots_ of CVs), but for just a few changes, I'd rather use POM with a keypad (Digitrax is my choice). In my club, it's commonly not convenient to have a computer with JMRI up & running; your conditions may be different. I do keep lots of notes on the fleet along with JMRI & QSI roster files too.
POM is fine but for some things you have to keep your wits about you, like changing decoder addresses. And once in a while I muck things up and have to recover on the programming track. :-)
Not trying to sound overwhelming,
Dave in Edmonton