session_start() no tiene por que estar en la primera linea si no antes de imprimir cualquier cosa en el navegador.
lo que debes hacer es lo siguiente para ver que sucede añadir la funcion mysql_error para ver si te devuelve algun error la consulta o la conexion
ahora dinos que se muestra en tu pantalla en el momento del login que error te da o que mensaje te muestra
estas verificaciones perecen de la epoca de piedra jajajaj
$vacio= '';
if($usuario == $vacio)
puedes usar NULL o empty