Ach, hervorragend. 2.0. Der Klassiker
Du hast bei Dir amit VS2010 .NET 3.5 SP1 drauf, was auch .NET 2.0 SP1 installiert. Auf den XP-Maschinen wahrscheinlich nur .NET 2.0 ohne SP1. Auf der Vista-Kiste wahrscheinlich auch. Will heissen das SP fehlt dort mit an Sicherheit grenzender Wahrscheinlichkeit.
Da das ganze Bitmap-Gelade in
GDI+ passiert, und das Native ist, hast Du hier unter der Haube mit einer Menge von P/Invoke zu tun. Und die P/Invoke aufrufe sind auf Deiner Maschine mit SP1 leicht anders als die ohne SP, da sich genau an der Stelle im SP was geändert hat.
Dewegen verschwurbeln sich da wohl ein paar Bytegrenzen, und der Fehler wird ausgelöst. Das Problem ist auch andersrum da: Packst Du das .NET
SDK auf eine der anderen Maschinen und kompilierst das Programm dort, läuft es dort, aber nicht bei Dir.
Hintergrundinfos mit weiterführenden Links gibts hier:
http://www.danielmoth.com/Blog/net-framework-35.aspx