possible error in optiboot.c ... ???

Well spotted! Generally, more eyeballs = less bugs.

http://www.atmel.com/Images/doc2525.pdf

Page 11: The data block size should not be larger than 256 bytes.