Hm, you probably shouldn't waste anymore time on this, my code must have some odd twist somewhere
I still don't know why this happens, but the reason I even started using getTextureData in the first place was that getColor(x,y) returned garbage (i.e. 0,0,0,0) .
Well, I needed similar functionality somewhere else in the code and called getColor there without thinking about it, and suddenly realised that it works just fine. So, I went back and changed the old code back to getColor, and guess what... Works fine too.
I can still reproduce the getGraphics problem in the original part of the code when using getTextureData, but since everything else now suddenly works It's not a high priority - it must be my code that does or did something really fishy.