I talked to a Microsoft premier engineer and he says it's "by design", that once Excel loses focus it gets put into low priority, then the VBA that is mid execute just pauses itself at random parts of the code. This only happens after it has been running for a an hour or so.

The program i'm working on is a trading position monitor that integrates user-entered data, database data and live data from Bloomberg and Reuters. Database calls are simultaneous Async utilizing seperate DB connections and execute_complete events in a class module to drive the process forward, once all executes are complete the final one calls the cleanup routine which does the final compilation, this way I leverage the power of enterprise databases. This has been working since 2008 without significant problems (the occasional dropped event or dropped .OnTime call).

I've tried to USE API to set process priority to high and even realtime repeatedly during program flow. that helped but didn't fix it. The latest thing is trying to flip the Application.WindowState which I found elsewhere as a possible solution. it seems to have helped a little more but has still not eliminated stalls. I have a monitor which reads the system updates from config files and records anytime process has not competed within 3 mins as a stall.

I've coding been in WinXP/XL2003 for more than 10 years. Now all of a sudden I'm in Win8.1/XL2013 and it has been a nightmare. Freezing, crashing, crawling along. The longer the day wears on, the worse the machine responds.

Any ideas? Thoughts? Looks to me like Microsoft has ruined Excel. One of the Windows 8.1 contractors say it's our implementation.