Hi Andy,
The first thing I noticed was that the last used range on some of the sheets is way down the sheet, particularly on the sick record sheet. Do and End Home on here and you'll see you end up at row 30000 + with formulae all the way down column U.
Tidy up the workbook by deleting all unused rows and then resave to make sure Excel clears its memory of these cells.
In addition since you're asking people who only have Excel 2003 to use the WB, then there's no point in saving it as an .xlsm workbook. You should be saving it as a .xls workbook. Better still, and since you should always design for the lowest common denominator, I'd advise you to develop it yourself in 2003, that way you'll avoid the complications of using the new 2007 functionality accidentally.
HTH
Bookmarks