You're getting paid for all of these things, right? So it shouldn't really be a problem.
It's not exactly economical for the client. Requirements analysis is typically done by a business analyst, and the user manual is typically written by a technical writer, both of which are significantly lower-paying jobs than a senior programmer.
As for the rest of it, I'd say yes - if you're running a one-man shop (or a very small shop), then as the "solutions guy" you're definitely going to be doing the architecture, database, code, and much of the test plan on your own. The test plan you'd be doing with significant input from the business people, although the actual testing itself might be more typically sent to a QA department, or even to a "focus group" of actual business folks.
Deployment, training, and customer support... that's where it starts to get a little murky. In a corporate setting you rarely see developers doing that, because it's just a massive waste of time. Sysadmins handle deployment, BAs and helpdesk handle training and support respectively. Developers are not only an extremely expensive support vehicle, they're also not as good at it as somebody less... well, I might as well just say it, socially awkward.
On the other hand, it's quite typical to be doing these things yourself if you're doing consulting independently or in a small group. First of all, who else is going to do them? And second, consultants have a lot more "human" experience so they'll actually be fairly good at it, at least if they've had a few clients under their belts.
I think that the smaller the company, the more hats you are going to wear. Some people will say that it's a false economy - and it's true that writing a user manual is not an efficient way to fill a developer's time - but at the same time, if they only need you to spend 2 weeks a year on documentation then it makes no business sense to hire a full-time tech writer.
Part of this depends on your area and the job market. If it's relatively easy for you or your company to swing a short-term contract with a BA, or a tech writer, or a tester, or a support tech, then it may make sense to do that instead, even if you have to spend a little time training them. It can't hurt to suggest it to your boss - if he's the non-technical type, he may not even realize that these specializations exist.
But even with informed management, it's not uncommon in any way for developers in micro-ISVs and non-software small businesses to be doing most of the ancillary work themselves. If the client and/or company is willing to pay developer rates for testing work, I see no reason to fight it, unless you really hate doing those things (in which case you should be asking a very different question).