What prompted my interest in this is the Scan Gauge II that I use. It is impressive in that it will work with ANY vehicle - so presumably the code can detect which of several possible interfaces are in use for the vehicle. Pretty darned clever device: http://www.scangauge.com
I'd like to explore some applications for vehicles that the SG goes not cover... So solving only for the CAN bus on a BMW would only solve part of the problem.

However I'm open to ideas...