Baked Cloth Sim Lost Between Closing and Opening File
I don't know why that is happening specifically. I found this thread because I was experiencing the same issue, so technically this is not an answer so much as a work-around that will allow you to do what you want.
Check the option to cache the cloth to disk as you have already done, and then bake all dynamics.  Immediately after finishing the bake, export the scene as Alembic. This file format will create cached version of fluid simulations and cloth dynamics.
Import that file into a blank blender scene. Select all of your dynamic Objects, then select inverse and delete all the other objects in the scene to leave only the baked dynamic objects and re-export as Alembic again.
Now you can load that Alembic file into your original file and new copies of the dynamic objects will be loaded in with a modifier attached to play the cached dynamics. This is totally stable and will play quickly during scrubbing playing or rendering.
Obviously, you only want to do this after you are happy with the simulation, and you have to go back the to original objects and repeat the process if you need to make a change, but this is a way to get a persistent and reliable cache on disk for cloth and fluid sims.