これはちょっとはまった。
Membership.GetUser() always returns null
http://forums.asp.net/thread/1119989.aspx
を眺めていて、ヒントが書いてあった。そうか、Windows認証になっているこが原因かも?と思って、
ASP.net webサイト管理ツールにおいて、「セキュリティ」タブ、「ユーザー」で「認証の種類の選択」。ここが、「ローカルネットワークから」(つまりWindows認証)になっていたので、「インターネットから」(つまりForm認証)に変更したところ、無事にGetUser()が正しくログインしたユーザーを返すようになった。