Sega, you asked what I would do if a client paused a job for ten months.
Basically, I try not to get into that situation. If the work involves any kind of software development or programming, and if the entire scope of the work is known in advance, I will quote a fixed fee. If it's a short project, I will invoice it when I deliver the work. If it's likely to take more than a few weeks, I invoice monthly, for the work done each month. The point is, in that kind of project, there is no opportunity for the client to pause the work.
But most projects are not like that (as I'm sure you agree). In most cases, the client will not or cannot define the entire work in advance. Or, they try to do so, but leave many loose ends or open decisions. Or, I just know from experience they will not be happy with the first take, and will ask for endless changes. There's nothing wrong with that. But I would never quote a fixed price in those cases. I quote an hourly rate, and bill for the appropriate number of hours each month. If the client is slow in making decisions, that's a nuisance, but at least I would have been paid for the work I've done so far.
I would add that, in almost every discussion here on Sitepoint where someone is having difficulty getting payment, it comes down to the same problem: A lack of communication between the contractor and the client. In most of those cases, the problem would not have arisen if the contractor and the client had set down together, and the contractor had explained to the client exactly what work the contractor undertaking to do, what the client's responsibilities were (in terms of making decisions or approving stages of the work), and when and how the contractor would bill for the work. I'm not saying that's the case with yourself, Sega. But it is a very common scenario.
As far as firing a client is concerned, I would not hesitate to do that if the circumstances called for it. If a client was unreasonably slow in paying, and if I had gone as far as I reasonably could in chasing them up, I would give them notice that I would be withdrawing my services unless payment was received by a certain date (and make it clear that I will still press for payment even after I have withdrawn my services).
And if the client does end up paying, and then wants me to resume work, I would agree to do it if, and only if, the client paid a substantial portion of the expected costs in advance.
(But I must say that I have very rarely had to take those steps.)