The difficulty here is that the client is responsible for clearing the cookie value (whether it holds a session token or not) - from the server end, all you can do is hope that the cookie is cleared as you've requested. That's not really strongly definable - by definition, non-compliant clients wouldn't obey, so would keep the session token around.
The solution, therefore, is to unset the cookie value by whatever means you might consider valid (set it to expire in the past, empty it, set a dummy session cookie, or whatever), and expire the session token on the server side.
You control whether the server treats the session cookie provided as a valid token, so should ensure that it doesn't - at that point, it doesn't matter what the client does, and you can even pick up on "invalid" session tokens being provided as an indication that something has gone wrong - either the user has been changing the session value, the client hasn't deleted properly, or it's an attempt to use an old session (perhaps the computer was hibernated with the site open, and your session timeout has occurred).