I also got a speedy reply from Altera mysupport on this, shown below.
I had things working with my old approach after installing service pack 2 but have now used their recomended approach which was slightly different and it is also working, so I will adopt this approach.
Here is the response from teh Altera expert, in case anyone else has a similar issue in teh future:
--- Quote Start ---
I have referred to your post on the Altera Forum and my only comment is the toplevel is supposed to act as a wrapper for the lower level modules, you therefore need to compile each lower level module in the full design, and export each in turn from the full compilation but with the modules left blank or black boxes.
For example create 4 separate projects.
Project 1
Top Level (wrapper)
Interface to control interface 1 (source code)
Interface to control interface 2 (leave empty)
Interface to control interface 3 (leave empty)
Interface to control interface 4 (leave empty)
Then export the partition for interface 1.
Like wise.
Project 2
Top Level (wrapper)
Interface to control interface 1 (leave empty)
Interface to control interface 2 (source code)
Interface to control interface 3 (leave empty)
Interface to control interface 4 (leave empty)
Then export the partition for interface 2.
Continue this for all 4 modules.
Your final project will now be as followings.
Top Level (wrapper)
Interface to control interface 1 (imported QXP)
Interface to control interface 2 (imported QXP)
Interface to control interface 3 (imported QXP)
Interface to control interface 4 (imported QXP)
This is covered in the Incremental compilation QII handbook.
http://www.altera.com/literature/hb/qts/qts_qii51015.pdf --- Quote End ---