You wrote a super fast OLTP system in forth? Great! You're a god, but no one can support it or extend it to meet future needs.
Perhaps Bob had reasonable expectations that he'd be able to organically grow this app over time. Not being technical he chose a platform which seemed to have a pool of talent available to him.
In the small, this was a trivial technical decision. In the large, business picture, that decision might have major negative effects. Bob should have been consulted, and had the decisions explained to him.
On the other hand, Bob could have explained his longer term intent to his subordinate and allowed her to make a reasonable decision as long as the tradeoffs were communicated back to him.
Perhaps the non-technical person had a trusted friend who is a Ruby on Rails expert -- and this person was not available at the time of initial development, but available later to maintain the app?
We don't work in a bubble - our decisions have impacts long after we've ended our own contract with clients. Clients should be given exactly what they're expecting. If you think the client should go a different route, then you should explain that to the client, and document exactly what the final product will be.
Even if the difference doesn't make you 'ill', it is simply unethical to sell somebody something they're not expecting - whether you believe it's better or not.