I have a MS906, got it from AES wave; supposedly the only authorized US retailer. I skipped the tpms version, but the standard 906 can read tpms data, do relearns, manual sensor ID entry, etc. I do use the shops triggering tool to wake the sensors up, and program new ones when need be. My understanding was the TPMS 906 was built to program Autel branded TPMS sensors. Obviously if it can trigger Autel sensors, it can trigger any.
The cable is about 6ft long, buy a 6ft extension cable for it. It came with all the early OBDII add on connectors for underhood DLCs, and to allow for ABS communication. If a 94/95 car has basic OBDII protocol, it can talk to those as a 96my. My 906 has made me a lot of money, and frankly I don't think not being able to program has hurt me very much.
Bugs have been minimal, some issues with talking to pre-2000 chyrsler ABS, something about the Autel assuming it's a no-com because the modules can be so slow. Only happened to me once on a 96 truck. Mazda Millennia doesn't list the KL 2.5L V6 as an engine option, I just run them as Probes, it's the same car. Sometimes AutoID fails, I just hit it again and it works. Nissan can take 60 seconds to identify and load sometimes, mainly 2008ish time frame. It's like they check for that communication protocol last. Mode $6 is only available in Global OBDII, so you need to exit manufacturer data and enter in generic mode.
IMO there is no ONE scan tool, everything has pluses and minuses. Dollar for dollar, I don't think anything can touch an Autel906. I'm extremely happy with mine. Great graphing with custom X/Y scales, lots of bi-directional, and you can talk to basically anything on anything. Only exclusion is the newest Chryslers with the secure gateway module. Monitors need run the clear CEL codes, there's a work around harness to bypass it though. I'm hoping right-to-repair kicks that situation to the curb before I need to do much work on them.