You'll need an external programmer like an AVR-ISP, STK500 or a homemade parallel port programmer:http://www.arduino.cc/en/Main/ParallelProgrammer
With those, you'll overwrite the bootloader with your program, allowing you to use the full 8 KB of program space (flash) on the ATmega8 (as well as avoiding the problem you're having). You'll be able to write to the chip as many times as you want. I don't think there's a way to overwrite the bootloader without an external programmer, as the bootloader segment is locked to avoid accidental overwrites.
In theory, you can use an Arduino board as an AVR-ISP to program another Arduino board, but we haven't quite gotten it working yet. If you have a Wiring board, you can use that as an AVR-ISP.