Hi Sam,
Thanks for the file and for using Dropbox.
What I did was set the Iterations to 2. No particular reason other than a gut feeling.
The next step was just to cache the tent itself. Nothing else. As the ropes react to the tent, that sets them, AFAIK, into a frame after mode. But caching the tent provides the needed information directly. (Yes, The Object Manager was organized correctly. You placed the priority to -400 instead of the 400 it has by default. ThisThis means that anything after -400 is calculated based on it, providing the Simulation with data from the frame before. Objects need to be generated before they can provide data. Here is a catch. The chain is a Simulation>object generating>reacting to that object>generating the robe.
From my point of view, that needs the initial sim object to be cached, preferably the last Simulation as well.
If that hadn't worked, I would have used the cached first object and converted it into an Alembic to utilize the time offset option here. But it worked without that.
Then I went to the Ropes and cached those.
Let me know if that works for you. Otherwise, I provide you with the link to the solution I have here; it is a bit large due to the cache.
Enjoy your weekend.