Lots of people have looked at this question but nobody has answered which means that we're all stumped, just like you. When I find myself in that situation, I start removing stuff to see if I can isolate which part is causing the problem. The other thing I do is to start injecting print statements so that I can trace which parts of the code are successfully getting executed.
Other than the session_start() and the include() statements, there are four commands (one that turns on error checking and three var_dumps). I suggest commenting them all out just during the troubleshooting phase. This way, you can remove them as possible suspects. (Not that they are suspects - they should be fine, but get rid of them anyway).
Then do this: Put a print "1"; and a print "2"; just before and just after the include() statement like this:
session_start();
print "1";
include 'inc.php';
print "2";
If you see a "1" but not a "2", then you know that the execution is stopping somewhere inside the include() statement. I'm going to guess that for some reason (which we can't see here because we don't have the code for inc.php), the execution is stopping inside inc.php. Maybe there's an error which isn't showing up (even though you have errors set to E_ALL). I mean, it's not likely, but when you're stumped, you grasp at straws, test everything, make no assumptions.
Hopefully, more print statements will shed light on what's going on.