Woah, this was a complicated .capx. There are actually three issues combined:
1: like Physics, manually adjusting the Platform behavior's position confuses it. What happens is when by a wall, you set its X to a bit to the right - that wedges the object inside the wall slightly. Then you test 'is by wall' - the platform behavior thinks it's stuck inside a solid, so returns false. At the end of the tick the platform behavior pushes itself outside the solid as part of its ordinary collision detection, and the cycle repeats - the condition is always false.
Solution: use 'simulate control' to control platform behavior, instead of manually setting position.
2: 'is on screen' was always false for the first tick in a layout. So negated 'is on screen' was always true for the first tick. This is a bug and has been fixed for the next build.
3: OR blocks did not work correctly as subevents to 'for each' loops. This is a bug and should also be fixed for the next build.
Nice .capx, got two fixes out of it :)