I was able to resolve my problem.
Turns out after thinking about it more in depth, it was an issue with my IIS configuration.
As noted above the line of code I pointed out was receiving a null value. After eliminating he cause being related to the db and code, I began to trace the permission access.
Sure enough it was.
What I did to resolve this was, disable anonymous access, then enable digest authentication so IIS will look at the domain. In the realm area select or type your fully qualified domain and this should work.
Excellent book, I have learned more from this one book about how to properly use .NET and a great foundation on code reuse.