There's a lot of truth to what you're saying and I appreciate the feedback. I do, however, believe in providing discounts to non-profits, educational institutions, and charities, and while that may mean that I'm a bit of a sucker, I can live with myself because I like to see those places succeed.
The entity we're talking about here is a true non-profit organization, and the problem we're running into is that they want to know how much it's going to cost, and I can't tell them because frankly, I charge by the hour and I don't know what kinds of bugs are going to show up when I fix the ones we know about.
So that makes it a little harder to write up the SoW. But that's a whole other topic. :)
Making one's services affordable isn't being a sucker in my book...I've done work pro bono at times. The issue I see is that they are not valuing your time - meeting to negotiate your rate is disrespectful of your time. If they have a budget, then they should tell you what it is so you're not playing twenty questions. If they don't have a budget to share with you, then again they are being disrespectful of your time.
After a bit of sleep, I would recommend offering migration to a compatible sever as the only option and provide an hourly-not-to-exceed proposal with a healthy retainer. The retainer should be the minimum due under the contract (in other words, it's a flat rate if you wrap the project up in a few hours). Hourly-not-to-exceed work is helpful because it provides meaningful feedback on one's estimating skills.
Rewriting the application will almost inevitably entail feature creep (which may be an actual goal). Providing an initial proposal which migrates to a new server allows you to negotiate if a rewrite and new features are really what they really want.
The entity we're talking about here is a true non-profit organization, and the problem we're running into is that they want to know how much it's going to cost, and I can't tell them because frankly, I charge by the hour and I don't know what kinds of bugs are going to show up when I fix the ones we know about.
So that makes it a little harder to write up the SoW. But that's a whole other topic. :)