Request.Cookies["UserID"]
Возвращает HttpCookie объект с именем "UserID" или ноль, если он не существует.
Request.Cookies["UserID"].Value
Возвращает Значение HttpCookie.
Итак, что может случиться, так это то, что Cookie есть, но значение пусто.
Но все же, я не вижу, как значение может быть нулевым.string.Emtpy возможно, но не null.