Eine gedrückte Taste ist ziemlich hochohmig, vor allem im fortgeschrittenen Alter. Die Teile haben immerhin 25 bis 35 Jahre auf dem Buckel! Möglicherweise sidn die Pull-Ups im AVR zu niederohmig und man bekommt den Port-Pin nicht weit genug runter gezogen für ein sicheres Low. Die CIA und VIA mit ihren NMOS-Pegeln und relativ schwachen Pull-Ups könnten da im Vorteil sein.
Wenn das direkte EInlesen läuft, aber die Tastaturabfrage streikt, würde ich mal versuchen die Pull-Ups ganz abzuschalten oder durch externe Widerstände (hochohmig) zu ersetzen. Und irgendwo schwirrt mir im Hinterkopf herum, daß ein AVR besser mit umgekehrter Polung klarkäme- also 00000001 ausgeben, Pull-Down am Port und nach 1-Bits suchen.