Thanks for the advice. Yes, I do need the greater space on the flash.
I tried to edit the bootcloner example (http://www.arduino.cc/playground/BootCloner/BootCloner), and you're right, I will have to edit the fuse settings. The problem now is that I can't set the fuses correctly.
Here's what I'm running in my loop() -- you'll want to look at the link to see the functions' source:
CMD_Write_Fuse_Low(FuseLow); // #define FuseLow 0xDF
CMD_Write_Fuse_High(FuseHigh); // #define FuseHigh 0xCA
CMD_Write_Lock(LockBits); // #define LockBits 0xEF
And I get this out, so the fuses aren't getting programmed:
Lock Bits: 11111111
Fuse Low: 11111111
Fuse High: 11111111
Is there something else I need to do (erase chip, change lock bits, etc.) to be able to change the fuses? I looked at the atmega8 datasheet at all the lock/fuse bits tables, and I can't see what I'm doing wrong.