I’ve had this exact same problem: a level I was working on was fine for ages, then one day the mesh sorting went all random. Looked fine in the view port, and when rendered, but as soon as I ran the game engine some meshes would appear in front of others even though they shouldn’t be. No transparency, normals facing the right way, I had made no changes to the meshes or textures when it started doing it. Never found a solution. Had to start again.
It’s not the normals, that was my first thought too. But they’re all the right way round, I’ve also tried recalculating them and flipping them. My problem is exactly like Matt383’s, certain faces appearing in front of other faces/meshes that they shouldn’t. And like Matt383 I’m using a UV mapped texture rather than materials.
Deleting the face and rebuilding it solves the issue, but it was quicker just to rebuild the entire low poly mesh from the original high poly one. It might be a bug, but I can’t replicate it because I don’t know what caused it in the first place.
From what I see I guess it is a transparency problem. Sorting takes place with semi-transparency (Alpha-sort/Alpha-blend) only.
I do not think it is an normal issue, as you would see the inside of the cubes.
I downloaded the demo file.
(it is missing the textures)
I loaded my own texture and I do not see the described problems. I noticed the game objects do not have a material. This can lead to render problems (game render indeed).