Pues depende. El asunto es que hay un subconjunto de funciones accesibles por OBD que están normalizadas y son de obligado cumplimiento. Creo que todas estas funciones están relacionadas con la unidad de mando del motor. Por tanto si tienes un error dentro de ese subconjunto, accesible a través de la unidad de mando del motor, lo vas a poder leer con cualquiera de las aplicaciones que hay por ahí.
Sin embargo, si tienes una alarma del sistema de inmovilización, por ejemplo, esos programas ya no te van a leer la alarma, porque son funciones no estandar, propietarias del fabricante.
Por lo que he visto, el BMWhat llega bastante mas lejos que la mayoría de las aplicaciones "generalistas", porque al menos con mi coche, sabe hablar con más unidades de mando (desconozco si llega a saber hablar con todas), aunque no me parece que sea capaz de llegar donde puede llegar INPA, DIS o ISTA
salu2