I don't see anything syntactically wrong with the posted code, as such I can't really believe your debugging accounts. Either you enter the if-body an execute the code or you don't, unless you're trying to debug in release mode, where the debugger might jump code section due to missing debug symbols.
You shouldn't call setFramerateLimit every frame.
Intersect returns a boolean, so you shouldn't check against 1, actually you shouldn't compare it to anything as it is by itself already a boolean.
I probably would use the move() method, that way you don't have to calculate the relative position manually.
Instead of manually keeping track of the player rect, you could simply get the bounds, unless you want to manipulate the bounds, but then I'd suggest to create your own entity class, that holds a sprite and can return the correct bounds.