I might be explaining it poorly, but here's what I do know.
When you use a skin, there is a file created in the AppData/SI/cache folder called SKINNAME.skc, it contains the data from the skin generated by the xml's. When you clear the cache and relaod the skin, thats the file that's actually being deleted and rebuilt.
My understanding is that process would look at just the skins folder and build the skc file off of that. Fo some reason, during this years beta, if you had more than one skin in the skins folder, it would build that xml file off all the skins.
I found out because one of the errors it threw was a font error, and the font in question was only used in a skin I pulled from a Korean FM board, and I was no longer using it. But for some reason the cache process scanned it and used it to build the temp file, and then the game started throwing an error when it couldn't process the temp file properly. As an example, my skc file was about 200k, and when I took out all the skins I wasn't using, deleted everything and reran the game, my skc file went to 116K.
I've had a lot fewer issues since the game went "live", but in my experience, any sort of XML error like that, kill the game process, delete cache and preferences from AppData/Loca/SI/FM23, restart and it runs fine.
Until the next error. :-)
Glad you got it working again,
Jellico