Are you looking just to read and erase codes? Freeze data? Reprogram body control modules and things like that?
I picked up a nice $50 OTC reader at Oreilly's a few years back, just to keep in my daily driver. Will read upstream and downstream O2 levels and cylinder misfire counts, amongst other things. Nice little basic reader.