Ich hab die Lösung:

Den Wert mittels "Getadc(x)" abholen verbietet sich bei differential Channels. Der Wert muss direkt aus den beiden Registern Adcl unf Adch abgeholt werden.

Code:
Adcsra.adate = 1                                           'Bit5 = Auto Trigger en
 ' Adcsra.adif                                               Bit4 Flag für fertige Konversation
 ' adcsra.adie = 1                                          ' Aktiviert ADC Interupt I-Bit in SREG muss gesetzt sein
 Adcsra.adps2 = 1                                           ' prescaler 128
  Adcsra.adps1 = 1                                          ' prescaler 128
  Adcsra.adps0 = 1                                          ' prescaler 128
       Adcsra.aden = 1                                      ' Bit7 1= en ADC
 Adcsra.adsc = 1                                            ' |Bit6=1 Start Conversion(Singel o. Free )
 Admux = &B01001001				
 Do
         Loop Until Adcsr.adif = 1			' Warten auf conversation
         Adcsr.adif = 1                               	' Reset flag
         Lowbyte = Adcl                                     	' Lowbyte Register
         Highbyte = Adch				'High Byte Register
         Print Hex(highbyte) ; Hex(lowbyte)                 ' Print High und Lowbyte in Hex
         Print Highbyte ;
         Print "  ";
         Print Lowbyte
         Waitms 900                                         ' Auge zu langsam

      Stop Adc
Verwendbar ist die ganze Sache für mich allerdings nicht. Da auch negative Werte ( nicht bezogen auf Masse, sondern auf die beiden verpolten Eingänge) gemessen werden, geht die Auflösung auf 9 Bit runter. Ausserdem wird +512 bei meinem M16 nie erreicht, max ist hier +488 bei Gain x10 und Uref = Vcc.
Hier scheint die Qualität des internen OpAmps nicht toll zu sein.
Update:Ein Versuch mit Uref=REFint allerdings schon, das die +512 (01FF) erreicht werden.

Thomas