use if / ifelse statements so it only executes the header you want.
Something like:
<?php
if(($r['username'] == $username) || ($r['email'] == $email)) {
header("Location: " . $site_url . "index.php?p=register&e=1");
}
elseif(($name == "") || ($dname == "") || ($username == "") || ($password == "") || ($email == "")) {
header("Location: " . $site_url . "index.php?p=register&e=2");
}
else {
mysql_query("INSERT INTO `pcp_users` (username,password,email,display,name,description,age,dob,country,location,interest,website,aim,msn,icq,yim,games) VALUES ('$username','$password','$email','$dname','$name','$info','$age','$dob','$country','$location','$interests','$website','$aim','$msn','$icq','$yim','$games')") or die (mysql_error());
header("Location: " . $site_url . "index.php?p=login&e=4");
}
?>