The Write Scratchpad command requires a 2-byte address. You're only giving it 1.
OWOUT ibutton,1,[$CC,$0F,$00,$00]

After that command, you can't "RESET" before the data
OWOUT IBUTTON,0,[$54,$65,$73,$74] 'write characters "test"

Not sure what this was supposed to be. There isn't a $FF command. Due to the delay afterwards, it looks like that was supposed to do the Write.
OWOUT IBUTTON,1,[$CC,$FF,$A5]
PAUSE 25


But instead, you need to READ the scratchpad memory to get the correct authorization code, so that you can do a "Copy Scratchpad" that actually writes it to EEPROM.

After that, you can do the "Read Memory" command. (With 2-byte address again)

Look at the COPY SCRATCHPAD [55h] section in the datasheet.

hth,