A good broker is aware of all the laws, and would not make the promise unless he or she felt confident. The delays are real, yes . . . but a retail lender is no more able to "promise" that a broker will fail than the broker is able to promise a timeline, and in doing so is showing her colors. You should not be pressured to accept a higher fee on this loan.
If your loan is already approved, I would agree with the above - negotiate the fees but stay put. Play hard ball. There is no reason for a retail bank and a broker to be THAT different in price unless the loan is very small. You should be able to get a cheaper loan.
Bottom line, though . . . anyone closing in 3 weeks is going to be stressed by it. If you love the home and it is at a good sale price, close where you can . . . perhaps at a slightly higher rate in exchange for no closing costs. If you do not pay any costs, you can shop to refinance your loan shortly after the purchase on your own timeline . . . getting the best deal in the long run.