Iron_Man, Замени эту хрень
$ban = mysql_num_rows(mysql_query("SELECT `id` FROM `cms_ban_users` WHERE `user_id` = '" . $user['id'] . "' AND `ban_time` > '" . time() . "'")); запрос роется по всей таблице!на счетчик
$ban = mysql_result(mysql_query("SELECT count(*) FROM `cms_ban_users` WHERE `user_id` = '" . $user['id'] . "' AND `ban_time` > '" . time() . "'"), 0);А еще лучше на mysq_fetch_assoc