Hay algo que debes estar pasando por alto. Si la variable te da "usuarios" es imposible que el if te lo evalue mal.
¿Estás asignandole un valor a la session según $row[] no?
$_SESSION["tipo"] = $row["tipo_usuario"];
No sé que más decirte con los datos que das porque los if están bien.
Así que es imposible que le hagas un echo a session["tipo"] y te de otra cosa salvo que estés asignando mal el valor. No veo otra.
De todas formas yo usaría swicth pero para gustos colores.
Es más rápido, no tienes que estar evaluando uno por uno cada condición.
Entra en la que encuentre.
Código PHP:
<?php
session_start();
$_SESSION["tipo"] = "usuario";
switch($_SESSION["tipo"])
{
case "gestor" : echo "mostraremos menu de gestor"; break;
case "usuario" : echo "mostraremos menu usuario"; break;
default : echo "menu artista";
}
?>