Your code works so something else must be wrong.
Any console errors?
Are you sure you're deleting all cookies for the domain?
Your cookie reader doesn't check that the matched name is a whole word, so in a cookie string like peanuts=2;nuts=1 it would pick up the value of 'peanuts' when searching for 'nuts'.
return ( ( cString = document.cookie.match( "(^|;|\\\\s)" + Name + "=([^;$]+)" ) ) ) ? decodeURIComponent( cString[ 2 ] ) : "";