I bought a Foxwell 604 Elite. It won't do some things but is good for most diagnostic purposes. That being said, they make higher end units that do those things. Foxwell provides forever updates for free and the product seems to be of good quality. I only paid about $135 but for $400 you should be able to get everything you need.
I bought a cheap ($150) Foxwell scanner and it said both impact sensors were bad. I bought one and swapped it between the two front impact sensors and it turned out to be just the driver side sensor even though the scanner said both. The bad sensor showed open when tested on an ohm meter. Saved myself $180 by just buying one sensor. They must be in series and if one goes it looks like both.