Replying to my own post, I know - but I put this in the 3rd Gen section by mistake, so I'm posting it here too:
"Not long ago, being tired of getting CEL's, I invested in a BAFX 34t5 OBDII scanner, paired with my Android smart phone and running the Torque app. Well worth the small amount of change invested (@ $30 including the app). So far it's identified a bad EGR valve and a bad O2 sensor. Combined with buying parts smartly on eBay and installing them myself, I've saved probably close to $500 from having the dealership or a local garage do the work. Highly recommended piece of electronics!!!"
I'd recommend the Autel Diaglink. It's a DIYer version of thier more expensive MD802. You get All Systems Access (Engine, Transmission, ABS, SRS, etc), OBDII Scanner, Oil Rest and EPB for the vehicle brand of your choice. If you have other makes of vehicle you can add them for $10US each.