Visionando velocemente il codice noto che fai due SELECT distinte, una sulla tabella "amministratore_istone" e l'altra su "agente_istone".

Però poi quando fai i controlli per verificare se l'utente sia un administrator oppure un utente inquilino usi sempre la stessa condizione nei due IF (cioè sempre i risultati dell'interrogazione della tabella "agente_istone"):

if(@mysql_num_rows($user_query) > 0)

....

elseif(@mysql_num_rows($user_query) > 0)

siccome la prima controlla se un utente è un administrator dovresti modificarla con il risultato della prima SELECT in questo modo:

if(@mysql_num_rows($amm_query) > 0)

poi probabilmente le due istruzioni che seguono:

if($user_result['banned'] == 'Y') {
header("Location: ./content.php?login=ban");

dovrebbero andare sotto la seconda condizione e non nella prima.

Se poi devi controllare il paramentro "banned" anche per l'utente administrator devi modificare le righe in questo modo:

if($amm_result['banned'] == 'Y') {
header("Location: ./content.php?login=ban");