Tobias,

Try reading one variable at a time and see what's the value. Anyways I can see that you have in your program
PreOn = Stage10On
PreOff =Stage10Off
but you defined Stagexxxxx as word but defined PreOn and PreOff as bytes. This might be a problem if the Stagexxxxx variables go above 255. I would define PreOn and PreOff as words and see what happens.

Robert