You may be using an uninitialised object of type bool
(ie. Ball->Stuck may not have been initialised before he if)
Using a bool value in ways described by this International Standard as “undefined,” such as by examining the value of an uninitialized automatic object, might cause it to behave as if it is neither true nor false. - IS
I found out the it was declared as GLBOOLEAN. I have no idea how it affects the output but when I set it to normal bool type i can see the true or false output. Could be of that type maybe?