if CM7 doesn't have DMPortRead.apk couldn't you just push it to you framework/app folder? or even install the apk and just run that when ever you need to connect to the Diag port? (for Qpst, or what ever you need it for) i'm not very familiar with CM7 so i could be wrong.
i use it to send my own serial commands. i find qpst to be more of a hassle then helpful. manuf. have been making there own NV items that are not listed in Qpst models for a while now. ie. the ERI banner for some hero's is not pulled from the usual eri.xml but instead read from the NV items. i think NV item 8042.
now, i while i was snooping around with the flash command. i notice that you can use "-s" (i think, i could be thinking of fastboot.) to specify your own memory location to flash an img file to.
now if we can find the mem location of the NV items you can simply read your entire NV items as an .img then use flash cmd to write all your NV items at once, and maybe even with the Recovery update.zip. im looking into the recovery source atm. if anyone knows where the NV items are stored plz let me know. is it mtd or mem location?