Hex file for Atmega328 gen. by Arduino 1.0.1 does not run on Atmega8

Your virtual chip is nicely labeled with the pin numbers of the actual AVR CHIP.
The pin numbers used in the Arduino environment are the pin numbers of the BOARD.
That way you can't try to do a digitalWrite() to a power pin, for example.

It's theoretically possible to define a new variant "board type" in arduino with a different chip-pin to board-pin mapping, even one where the numbers used ARE the chip pins. But this would be relatively difficult to accomplish.

It might also be possible to change the picture associated with your "virtual" AVR. (What software are you using?)
Perhaps you can easily add the Arduino Pin Number as text in the schematic portion, rather than defining a separate arduin "part."

Or you can just keep this diagram in mind: http://arduino.cc/en/Hacking/PinMapping

(except: Arduino pin 13 should be chip pin 19, not 17 ?) (Oh, I see - it's the 32pin mlf/lqfp package version of the AVR, rather than the 28pin DIP version. Another reason that the mapping to board pin numbers comes in handy.)