As a complete guess, try transposing your MVPMatrix matrix before extracting the planes from it.
I know when I did this, most of literature that I found was based around matrices that have been constructed to work with row-major vectors, like D3D traditionally did.
You know I said this didn't work? Well, before I started normalising the planes properly it didn't. I tried it again last night and it worked PERFECTLY. However, it was only after agonising hours of experimentation that I decided to try this again. Including making a debug view from above with the bounding rectangles shown on screen. Taught me a few things though! Thanks.