Großes Dank nochmal an Jaecko!

Hab den Code jetzt nach deiner Empfehlung mit den INT-Pins nochmal neu gestrickt.
Code:
/*
 * main.c
 *
 *  Created on: 23.09.2010
 *   
 */

#include <avr/io.h>
#include <avr/interrupt.h>

#define F_CPU       2048000UL

#define BAUD        9600UL
#define UBRR_BAUD   ((F_CPU/(16UL*BAUD))-1)

#define LED_DDR        DDRD
#define LED_PORT    PORTD
#define LED_PORTPIN    PD7

volatile unsigned int Zaehlerstand;



void uart_init(void)
{
    // Baudrate einstellen (Normaler Modus)
    UBRRH = (uint8_t) (UBRR_BAUD>>8);
    UBRRL = (uint8_t) (UBRR_BAUD & 0x0ff);

    // Aktivieren von receiver und transmitter
    UCSRB = (1<<RXEN)|(1<<TXEN);

    // Einstellen des Datenformats: 8 Datenbits, 1 Stoppbit
    UCSRC = (1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0);
}

ISR (INT1_vect)
{
    LED_PORT |= (1<<LED_PORTPIN);

    Zaehlerstand = TCNT1;                                //den aktuellen Zaehlerstand auslesen

    TCNT1 = 0;                                            //den Zaehlerstand zuruecksetzen

    if (Zaehlerstand >= 1000)                            //die Zeit zwischen zwei Low-Pegeln wurde gemessen
        {
            if (Zaehlerstand >= 3400)                    //die Pause vor der nächsten Minute wurde gemessen
                {
                while ( !( UCSRA & (1<<UDRE)) );        // Warten bis der Sendepuffer frei ist

                UDR = '2';                                // Daten in den Puffer schreiben und damit senden
                }
        }
    else                                                //die Zeit eines Low-Pegel wurde gemessen
        {
            if (Zaehlerstand >= 300)                    //Low-Pegel > 150ms -> 1
                {
                    while ( !( UCSRA & (1<<UDRE)) );    // Warten bis der Sendepuffer frei ist

                    UDR = '1';                            // Daten in den Puffer schreiben und damit senden
                }
            else                                        //Low-Pegel < 150ms -> 0
                {
                    while ( !( UCSRA & (1<<UDRE)) );    // Warten bis der Sendepuffer frei ist

                    UDR = '0';                            // Daten in den Puffer schreiben und damit senden
                }
        }
}



void main(void)
    {
    uart_init();                                        //UART initialisieren

    GICR |= (1<<INT1);                                    //externer Interrupt an INT1 (PD3) aktiviert

    MCUCR |= (0<<ISC11) | (1<<ISC10);                    //Interupt bei jeder logische Veränderung an INT1 (PD3)

    TCCR1B |= (1<<CS12) | (1<<CS10);                    // Prescaler auf 1024 -> 2.048MHz/1024 -> 2000Hz

    sei();                                                //Interrupts freischalten

    LED_DDR |= (1<<LED_PORTPIN);                        //LED Port als Ausgang

    LED_PORT &= ~ (1<<LED_PORTPIN);                        //LED Port auf High -> LED leuchtet


    while(1);
        {

        }
    }
Jetzt klappt alles einwandfrei!

Einen kleinen Wermutstropfen gibts aber doch: Ich weiß immer noch nicht warum mein erster Code nich funktioniert hat, aber jetzt bin ich endlich erstmal weiter :-D

Schönen Abend noch,

Knipser