The Problem shows in two ways,
I'm actively checking if the write action was sucessfull by read out the register that it contains the value that i've sent. This is the case, but the output is still off. For example i've wrote 0x01, to turn output 0 on, the register contains 0x01, but oscilloscope probe do not see any signal change. This does happen some times in the ordonary cycle of code (other reader functions). To validate that no other piece of code does change the outputs, i'm always configuring the outputs again before writing.
The second issue i see, is that even when i configure "0x44 to 0xFF" (all Pins are outputs) and watch the expressions of read_reg(0x45) in software, the register sometimes contains odd values. It looks like some output signals are generated "autmatically", because it even happens when i only read the register.