I use my own, I think its great

. Actually its still a work in progress, its designed to work with OBD1 vehicles, all US models are covered and a good few others but currently it doesn't display status flags except as raw data. It does have a vitual dashboard, dataviewer and a logger as well as a fault code viewer that displays both the current codes, which can be accessed using the CEL, and stored codes which can't.
http://www.rhinopower.org/Rhinoview/Rhinoview.htmlFor OBD2 I use my handheld Vetronix Mastertech scanner or a cheap eBay code reader.