I have the patch installed and it is reported as 2.50a by Microcode Studio.
I have put in this code based on what you posted:
define I2C_SLOW
'Constant list
GP_port con 0
LAT_port con 2
IOdir con 6
iaddr con $20
'Variables
ireg var byte
'Set up the 23016
ireg=IOdir
i2cwrite idata,iclock,iaddr,ireg,[0,0] 'Sets GP0.0-GP0.7 as OUTPUTS
pause 20
'Write to the 23016
ireg=GP_port
i2cwrite idata,iclock,iaddr,ireg,[0,0]
pause 20
ireg=LAT_port
i2cwrite idata,iclock,iaddr,ireg,[0,0]
And the ports are all still high, I agree with you, the chip did not accept the first command.
Did I understand your code?
Bookmarks