(I know this thread is old, but it was just resumed, so I figure what the heck).
A few years back I bought a
Bluedriver. It's not as cheap as some other options (I paid $100, now up to $120) but that includes their app so it's the whole package.
There might be better deals or things now, but at the time I was scouring the world for something that would read all codes from all things - and that's what they claim. I was just tired of not being able to read ALL of my own codes, and had added an old Prius hybrid and my '02 Envoy to my fleet (and then later and '06 9-3 convertible). I just plain old needed access and didn't want to have to figure out both tech2 and techstream (Toyota's system).
I've been very happy with it, and it only failed me once when trying to get airbag codes from a friend's '05 Sierra. Tech support was really willing to help and not happy that this happened - i.e. they really wanted to fix it. But I was no longer hooked up to the truck so couldn't get them the data they needed. But they are highly responsive and do give a darn.
Other than that one instance, it seems to pull all codes, including history/pending/current from the GMs and the Toyota Prius. For the latter I've needed it for hybrid battery problems. I also did use it once for a friend looking at a used Subaru and it pulled air bag codes, so I know it's not completely messed up in that regard.
It also does your basic live data stuff, of course. I've only used it so far for typical PIDs (e.g. fuel trims and whatnot) so I can't say if it's more powerful in that respect than other, cheaper options. But it's quite powerful as a code reader.