Hi,

die Speicherorganisation übernimmt der Linker beim Compilieren automatisch, Du musst also nicht wie in Assembler selber den Interrupt-Adressbereich überspringen.
Bist Du sicher, dass der Interrupt wirklich vor main() aufgerufen wird und nicht erst vor dem Sprung in Deine Hauptschleife (while(1){...})?
Denn mit
Code:
DDRD    =    1<<PD3;
PORTD    =    1<<PD3;
löst Du den Interrupt vor der Hauptschleife manuell aus.

Gruß,
askazo