I added packages to an ISE project by using Project -> Add Copy of Source; this placed the packages in the wrong order, which caused FPGA Express to fail with multiple errors.
Sometimes, re-adding the packages to the project, e.g. using Project -> Add Source, works. This can place the packages in the correct order.
See CR 141947 - this may never be fixed. In the meantime, multi-package designs will encounter problems in ISE.