Looks like white space between php tags is causing the dreaded Headers Already Sent error which in turn is causing the redirect to fail.
There are multiple code blocks on your page that are indented, for example the code block at lines 87-92:
$smallgroups = new WA_MySQLi_RS("smallgroups",$local_i,0);
$smallgroups->setQuery("SELECT sg_smallgroup.* FROM sg_smallgroup WHERE sg_smallgroup.leader = ?");
$smallgroups->bindParam("i", "".(isset($user_id)?$user_id:"") ."", "-1"); //WAQB_Param1
(the blank space at the start of the <php tag is not showing here, but view the original page in Dreamweaver and you will see it)
the tab that is in front of the opening php tag is writing blank space to the page, this before the header() function will cause the headers already sent error when it tries to do the redirect.
there are a few other parts of the page that have the same indenting of php code blocks.
for more details on the headers already sent error, see the following post: