Deberías usar el array $_FILES ... y para el tema de ver si tiene contenido (diferente a NULL o '') debes usar empty() no isset() que define que está o no definida (cosa que siempre estará definida en este caso).
Código PHP:
if(empty($_FILES['userfile']['name'])) {
echo "Detecto que está vacio";
} echo {
echo "Detecto que está vacio";
}
También hay otra función para ver si realmente subió el archivo al servidor:
is_uploaded_file()
http://www.php.net/is_uploaded_file
Un saludo,