Gridbased movement and pathfinding works best when disabling diagonals. You can try my example with and without diagonals. I did not search much for bugs and it may not be 100% optimized.
Unfortunately, I currently have no access to C2, so please use the free version of C3 to open the project: editor.construct.net The code should be compatible with C2.
Edit: At the moment the C3 r111 has serious problems with OR conditions. You have to use a new version (beta) for everything to work.