.. Woran es letztendlich liegt, dass eine 10-Bit Abfrage des ADCs in einer Schleife nicht normal abläuft kann ich aber auch nicht beantworten ..
Kann es sein, dass Du die beiden 8bittigen ERgebnisregister des ADC falsch ausliest?
Code:
....
USA:                ;U-Solar/Akku
    ldi    lcdd,lcd_lin1+$0A ;Zahlenpos Solar-U
    rcall    lcd_cmd4
    ldi    muxr,$47    ;ADC7 10bit
    rcall    rd_adc
    in    wrk1,ADCH
    in    wrk2,ADCL
    rcall    clc_va        ;Values to Chars
...
Damit liest Du doch zuerst ADCH aus? Das Datenblatt verlangt aber (must - engl. = müssen - dtsch) wie wohl immer beim 10bittigen Atmel-ADC, zuerst das ADCL und erst dann das ADCH auszulesen:

Zitat Zitat von Datenblatt für AtmelATmega16A-8154B–AVR–07/09
...
If the result is left adjusted and no more than 8-bit precision is required, it is sufficient to read ADCH. Otherwise, ADCL must be read first, then ADCH, to ensure that the content of the Data Registers belongs to the same conversion. Once ADCL is read, ADC access to Data Registers is blocked
...