I've built to this schematic with a few modifications:
I made my own "breaboard duino" on some perf board
added a lm7805 for the 12v to 5v conversion in the car.
put switches inline with the TX / RX line between the iso chip and the atmega (wouldn't program over serial otherwise)
my issue is very peculiar
so i program the arduino (through the "upload code by programmer" option) with the original obduino32k code from google code and the display works fine while being powered off of the USBASP ISP connector. But, as soon as i use another 5v power supply (connecting the same as the USBASP to the 5v / gnd rails), the lcd contrast is messed up and i cant read it. same happens if i go through the vreg 12v -> 5v. All voltages were checked to be sure that the sources were ok.
Next, i tried the Hello World LCD example in the Arduino IDE and the LCD contrast works perfect with any power source. i still had to add in analogwrite for the brightness and contrast, of course.
I just did another test: i connected only the gnd and 5v from the USBASP to their respective places on the arduino, and walla the contrast issue is there. somehow the mosi / sck / msio / rst connection are doing something to make it work? makes no sense at all. So, something in the OBDuino code is messing with the contrast output... strange