Sauber, Bitnugger, vielen Dank.
Der Fehler lag in meiner eigenen Berechnung. Ich hatte die Fensterbreite falsch ermittelt und das hat das Chaos verursacht. Konnte dies allerdings erst finden, als ich mir über ein geeignetes Debugging (per AutoitStudio und DBUG) gedanken gemacht hatte, bei dem man ALLE Variablen auf einmal checken konnte. _ScreenCapture_CaptureWnd() funktioniert also auch mit negativen Werten zuverlässig.