Yes- the data line is hooked to pin 1 on the Arduino.
Your correct about the command bytes to position the cursor.
When I was not able to make it work correctly I took all of that out to simplify the code.
I've not had any trouble using the display on Picaxe projects.
I found the following in the Picaxe manual.
Might this have something to do with the trouble I'm having?
(from Picaxe manual)
"Baud mode specifies the baud rate and polarity of the signal.
When using a simple resistor interface, use N (inverted) signals.
When using a MAX232 type interface use T (true) signals.
The protocol is fixed at N,8,1 (no parity, 8 data bits, 1 stop bit).
A ‘N’ baud rate idles low, with data pulse going high.
A ‘T’ baud rate idles high, with data pulses going low. When using a T baud rate
the very first byte may become corrupt if the output pin was low before the serout
command (the pin will be automatically left high after the serout command).
To avoid this issue place the line high (via a’high’ command’) a few milliseconds
before the very first serout command."