There isn't any really good way.
I just usually do
If Trim("" & Request.Cookies("whatever")) = "" Then
... the "whatever" cookie either does not exist or is blank ...
... the "whatever" cookie exists
Because I *KNOW* that I will never assign a blank value to a cookie, that works for me.
But you *can * do it a bit more painfully:
Function doesCookieExist( name )
name = LCase(name)
For Each key In Request.Cookies
If LCase(key) = name Then
doesCookieExist = True
doesCookieExist = False
If doesCookieExist( "zamboni" ) Then
... cookie named "zamboni" exists ...
... does not exist ...