Wenn ich das im Datenblatt richtig lese und verstehe, gibt es ein Fuse Bit, das die serielle Programmierung abschalten kann (SPIEN). Das dürfte der Kollege, der dir das SD2IEC verkauft hat bei diesem Controller gesetzt haben. Damit kannst du ihn mit deinem "billigen" Programmer nicht mehr programmieren. Er reagiert dann gar nicht mehr auf serielles Programmieren.
(Siehe ATmega1284P-Datenblatt, S. 293.)