Attribute selected does not make sense for a hidden field and the value does not make sense either; this just works because the string "Stay logged in" is not empty and thus evaluates to true if treated as bool.
Yea, that would work aswell, but it would allow to set the value to 0 if someone wanted to. So depends on the OP how strict he wants to be. In this situation it wouldn't matter I guess, but generally.