This is a tough one, there is no absolute right or wrong here. Here are my thoughts at least:
Paying .25 to waive escrows is required from every lender I've ever seen or worked with. The bank can choose to eat it themselves, (lessens the loan officer's commission, or they have already priced it into the loan) but that wasn't a shady move, just a mistake on the loan officer's part for not mentioning that immediately when you told them you wanted to waive escrows. Whether or not they should have eaten the quarter is probably a judgement call. They were also doing the loan for what was probably a below market interest rate at that time, so there wasn't much wiggle room.
Rates have gone down this week, probably allowing 'bank b' to their meet their profit margins while still offering the 5%. In my opinion, the builder should not be pushing you to use bank b at this point after he already told you that you did not need to. The builder cannot legally require you to use their mortgage co., although if you agreed to it as part of the contract it then becomes a contractual thing.
As for the hanging up, the loan officer was no doubt frustrated after doing all the work on the loan only to get a phone call explaining that they will not be receiving a paycheck. If you put yourself in their shoes I'm sure you can begin to understand the frustration. At the same time, they should NEVER EVER EVER EVER hang up on a client, that's incredibly unprofessional. "Take it like a man" (even if your a lady), then get off the phone and sulk, or vent to a coworker, or whatever you need, but there is no reason to hang up on a business relationship. At the end of the day, every loan officer has lost deals they shouldn't have, and kept deals they should have lost. It's all part of the business, and while it stinks, it is what it is. It's probably not the best thing to have someone do all the work on the loan and then yank it from them, but the fact that they treated you in a pretty unprofessional manner should provide some solace. Give up your guilt, it's not worth it. Besides, at least Bank A still gets your friends loan.
AC