Although the documentation states that persistent cookies do not time out, that's not actually correct, as has been discussed in http://forums.asp.net/thread/1411179.aspx
Non-persistent cookies are cookies that have a timeout, plus they expire when the user closes the browser.
Persistent cookies are called so as they persist accross browser sessions, but not because they don't expire.
In other words, if you really want persistent cookies, you need to specify a large timeout value (eg: multiple days) so that the cookie will not expire, and you will still need to mark the cookies as persisent using either:
HttpCookie cookie = FormsAuthentication.GetAuthCookie(Username, true); //true makes this persistent
Response.Cookies.Set(cookie);
or:
FormsAuthentication.SetAuthCookie(Username, true); //true makes this persistent
Of course, you can use any of the other methods for setting the authentication cookie as well, my point is that you still need the expiration date to be long enough, because it is requierd to effect the cookie persistent behavior.