This link may be of interest to you.
Excel Recalculation
http://msdn.microsoft.com/en-us/library/office/bb687891(v=office.12).aspx
Thread Safe Functions
http://msdn.microsoft.com/en-us/library/office/bb687899(v=office.12).aspx#xl2007xllsdk_threadsafe
There are many events that can trigger a recalculate event also read up on VOLATILE functions. A Volatile function is one whose value cannot be assumed to be the same from one moment to the next even if none of its arguments (if it takes any) have changed.
The following Excel functions are volatile.
NOW
TODAY
RAND
OFFSET
INDIRECT
INFO (depending on its arguments)
CELL (depending on its arguments)
Recalculation of data tables is handled slightly differently. Recalculation is handled asynchronously to regular workbook recalculation, so that large tables might take longer to recalculate than the rest of the workbook.
Try setting Automatic Except for Data Tables. Perhaps even when set to manual calculate that just means that whenever an event triggers the manual it will calculate the affected cells. Perhaps your refresh is triggering all these events which will calculate multiple times because as the events trigger it more events come in and trigger again.
The easiest thing you could do is look to eliminate as many VOLATILE and ARRAY formulas as possible. Personal exp tells me that RAND and ARRAY functions are the worst.
VLOOKUPs? Add some examples. - zx8754