If you have kids, or anyone else that uses your computer, L0phtCrack was probably installed by them. It's not a transmitted program, virus, or anything like that. It's a tool used by script kiddies to try and break windows passwords.
Neopets could easily solve the "cookie grabber" problem if they wanted.
Here's just four solutions:
1) Limit the HTML allowed
script tags, object tags, embed tags, etc... could be banned
2) Either don't use MD5 to hash transmitted passwords, or if MD5 must be used, at least salt the passwords beforehand.
3) Use random data to authenticate sessions that changes with each page hit
Such random data could even be tacked onto a password before its hashed to prevent session hijacking. Allowing only one log-in at a time would limit the amount that a session hi-jacker could do as well (because when someone logs back in after being logged out, they knock off the hi-jacker who would then have to re-run the attack to gain access, in the case of a cookie grabber this would mean the victim would have to hit the same script AGAIN, unlikely at best).
4) Use numbers to index users in cookies
Plain and simple, two things are needed to log into just about any system -- a user name and a password. If a number was associated with the user name ONLY for use in the cookies, it would prevent a grabbed cookie from exposing enough information to allow an attacker to log-in.
Cookies bound to an IP address would not necessarily help, because the cookies already contain too much information (user name/MD5 hashed password). If a cookie could be read by an intermediate source, your account is already compromised.
There really is no excuse for such a vulnerability to exist, I attribute it to laziness and lack of imagination.
As far as why I know about this stuff, I'm an internet security researcher. I developed xice encryption:
http://en.wikipedia.org/wiki/Xice