Carsoft International (legitimate) - A Belgium company has been making a PC based diagnostic tool for MB and BMW for several years. Originally it was about $2000 plus annual updates for new models at $600. Recently they have lowered the price and now offer three versions - Ultimate, Premium and Home (BMW only). The Premium version would probably be of most interest to DIYers and is about 600euros (currently on sale for ??). Includes current software, cables and junction box (multiplexer) and the user supplies a PC. Obviously a laptop is most convenient.
Carsoft (boot-leg) - A couple of years ago someone in east Asia was marketing a reverse engineered set of cables and multiplexer and bundled with an older version of the Carsoft software (version 7.4). Several people have reported buying this product online (usually eBay). However, after an initial enthusiastic post based more on what it can do than does they fall silent.

The cost is around $100 but I have seen it being advertised for up to $250. Two problems most often mentioned are that it works best with an older laptop with a dedicated DB9 serial port rather than a newer laptop with an USB/Serial or PCMCIA adapter. Also there was a non-multiplexer version which didn't work well. Note that support in that version of the software ended with MY2004.
Another product which I don't know much about but is recommeded by some is called AutoTap.
I think the bast choice would be the SDS Handheld Tester (HHT). Dealers stopped using them and they seem to have disappeared. Of course, the real issue is interpretation. As anyone who's used an OBD scanner knows, just knowing the code/description of the error does not mean the problem is fixed.