You are a contractor who normally charges $150 an hour. You have an inside lead into a potential contract for a company in distress on a project and you know how to complete the work. You believe that your time in this case is actually worth way more than $150 (66% more) and you would like help in getting additional money for your services.
First, you assume there is no risk in writing the software up front and then charging for it. I have had many contracts "in the bag" that turned out to be not so sure after all. You are taking on the risk of writing the software before talking to the client (read: the person who actually pays you a check). This is troublesome, especially for something as short as a 100 hour contract.
Second, this is a 100 hour contract, or so you estimate. Is that really worth the upfront risk of writing it early? I guess you could argue that "it's only 100 hours! Not 10,000, so it's no risk at all." Well, to me that's a $15,000 risk at your rate.
Third, you say that the additional value associated with charging $250 instead of $150 is in the fact that your solution will save them money on operations costs for years to come. While you are probably very right, it will save them money for years to come, isn't that what we all strive for? To make the most efficient running code possible that ultimately saves the client time and money? Would you ever say something like this "Well for $250 an hour I can write code that runs more efficiently, but for $150 an hour I will only write code that squeaks by on the most expensive hardware possible"?
So, if I were in your spot I would not write the solution up front. I would definitely go in and sell them on your solution at your normal, $150/hr, rate with a pleasant but straight forward presentation and good reference. I would explain to them that you are charging your normal rate because it is fair and that others might charge them more because of there situation and that you will be fair and honest with your time and their money. I would estimate the time needed to complete the project then I would get it done and deliver it on time. 100 hours is about 2.5 weeks.
Then you will get paid $15,000 AND you will get something more. You will get a really happy client who will need more work, improvements on what you just made, and be a fantastic reference for your other clients. If all goes well, your name will be passed around to their clients all over the place. That is worth way more than a few $1000 extra in fees.