the question i actually wanted to ask: how would i start to debug this issue?
This is an order of magnitude easier task under DirectX - since when you run the game in Visual Studio you can see the Debug output being printed into the Output Pane where you will see lots of info why the rendering is broken. Even in XNA, you would get an exception, if your indices were broken, or there was a mismatch about some obscure, low-level stuff.
You chose OpenGL, so you just have to suck it up now and check each call manually if there is some error
Of course, since we are talking about ATI, it is expected that they will not return the error code at all times - you wouldn't expect ATI drivers to be as good as nVidia drivers now, would you
I've seen this behaviour on multiple ATI cards under multiple sets of official drivers. Basically, the renderer worked flawlesly on everything, Intel GMA950 not excluding, just the ATI cards were unpredictable. (and that was taking into account all info there was on their issues).
If I were you, I would just display a message along the lines of "Warning ! ATI card detected. Please insert a reliable gfx card."
As you probably guessed, ATI cards gave me a hell, some time ago...
BTW, if I had to guess, I'd check if that card of yours supports 32-bit Indices first (Yes, you'd be surprised. No, just because the gfx caps tell you it is supposed to support 32bit Indices , it does not , necessarily, have to. You are welcome ).
Do you have an access to the machine ? Can you step through the code, line by line, and see where it crashes ? Most probably, some resource (VB, IB, texture, RT, ...) didn't get created for whatever reason - majority of them, of course, unjustifiable - based on gfx Caps the drivers expose...