as phoenix said, check gmail/hotmail for spam scoring/tracing in the headers, it should give you an indication of why it's being junked - probably rbls. because they're hit so heavily by zombies it's likely that if you're in a dynamic ip range or anything to do with adsl you'll almost certainly end up in the junk can
to solve this, relay through your isp, all isps will give you an smtp relay that you can shuttle your email through, and its much less likely to be in rbls or blocked ranges (hopefully)..