I have working code now, but the debugger still shows null; adding values to the null pointer variable creates funny address patterns, like increasing the value by 0x01010100, which actually might be intended in case of real null pointers.
It might also be interesting to note that the whole program (or debugger?) crashed when I replaced uchar* by void*, I don't even come to the point where I can inspect variable values.
I really hope this gets fixed. For the meantime, this report hopefully saves other people some headache.