Am einfachsten ist es immer, wenn du gleich deinen Code mit postest, vielleicht liegt da ja irgendwo der Wurm.

Das Datenblatt des ATMega32 sagt auf Seite 51:
As
indicated by the two arrows tpd,max and tpd,min, a single signal transition on the pin will be delayed
between ½ and 1½ system clock period depending upon the time of assertion.
Bei 16MHz sollte das Signal also nach max. 94ns im Register erscheinen.
Hast du die Zeit mal mit internem Pullup gemessen?