Clearly, an escrow will not help you in the first case. If the escrow release occurs, you will waste time and money learning the source code, only to learn that the problem lies elsewhere. I doubt it. If this really is a mission-critical application, you're better served bringing in a new vendor to replace the system and to solve your problem more permanently. That brings us to the real reason to use code escrow.
Source code is the crown jewels of a software vendor.
When your vendor is not paying enough attention to you, threatening to pull the source code can seem mighty attractive. All you have to say is that you cannot fix this problem yourself, so you will bring in a third party. The software industry being what it is, the vendor's crown jewels could be street knowledge by the time the new contractor finishes his first cheese danish. The next result is that you will never get support from this vendor again. No one can be expected to support the code after you have changed it.