The fact that the command code is different made me curious and i took a look at the reference manual for a K61 device.
There actually are some differences in comparison with K60.
1. total flash is 1MB instead of 512KB
2. sector size is 4KB instead of 2KB
3. there is a "program phrase" (8byte) command (code = 0x07) instead of "program lond word" (4byte) command (code = 0x06)
4. because you can write 8 bytes the register FCCOB has 4 more fields for data bytes.
So you were right to use code 0x07. I am not sure if you have to write those additional fields in FCCOB or if they can stay empty.
What i don't understand is why it does not erase properly. There is no difference regarding the erase sector command.