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

In the optiboot source, it was fixed in 6.0: Google Code Archive - Long-term storage for Google Code Project Hosting.
And then optimized in 6.2: Google Code Archive - Long-term storage for Google Code Project Hosting.

The Arduino.inc people haven't been very enthusiastic about pulling a new version of optiboot into the IDE distribution; I can see their point: most of the changes have been for non-arduino platforms.