Dave, you were right about the 16 bit address

I've managed to solve the problem by:

1) Making the address a word sized variable
2) Changing the pullup resistors from 4k7 to 2k7
3) Taking the data to be stored and saving it Highbyte and Lowbyte so:

I2cWrite SDA,SCL,$A0,Address,[Databyte.Highbyte]
Address = Address+1
I2cWrite SDA,SCL,$A0,Address,[Databyte.Lowbyte]
Address = Address+1

It now works like a charm. Thanks all of you for your advice, not the least by being reminded to take the trouble to do a search of the forum first ;-)