"Work at home" vs. "work from home"
Solution 1:
"Working from home" seems to be the standard current idiom for telecommuting. The connotation seems to be that your work is still centered around the workplace, but you are completing it remotely. Under this theory, "working at home" would still be preferred in cases where you were self-employed (so your workplace is your home) or where the work was actually centered at home for some reason (for instance if your job was assembling something and you took it home and assembled it there instead).
Solution 2:
A common sense says that 'work from home' means you do work for someone from home. On the other hand, when you say 'work at home' that means you got a personal task to be completed (maybe, cleaning the house) at home. So, if you have to fix a door at home, you may say, "Sorry dude, I cannot accompany you. I have work at home". If you are a freelancer and someone asks you about it, you say, "I work from home."
To make it simpler -'work at home' means the work already exists at home (here, fixing the door) and work from home means unless you go and start doing it, it does not exist (freelancing work).
Solution 3:
"Work from home" is more commonly used: generally people are still, in some way, doing business other with people (employers, colleagues, clients/customers) who are located elsewhere. In other words, a person's work location might be his/her home, but the work itself isn't completely local to the home. So the home is viewed as just another business location.
Whenever I see/read "work at home," I think of somebody who is fixing his/her garage or maybe writing a novel.