Either of those will work, as long as there is only one statement in the if block. But it's better to use the braces anyway, since you can add more lines later.
I used this code:
(test1.php)
Code:
<?php
session_start();
$login = "CroMagnon";
session_register("login");
?>
<html>
<body>
<a href="test2.php">Test!</a>
</body>
</html>
(test2.php)
Code:
<?php
session_start();
?>
<html>
<body>
<?php
if (isset( $_SESSION["login"] ))
echo "YES!";
else
echo "Problems!";
?>
</body>
</html>
and this worked fine for me. Perhaps you can compare it with your code and see where the difference is (I haven't posted my username from a form, but that shouldn't matter).