Whenever you activate tile caching for a layer or layer group in Geoserver, GeoWebCache will start to cache all requested tiles. As you know you can speed things up for your early users by pre-seeding all important mapsets, zoom levels or areas.
But if you change the tiled layer's basic structure (e.g. by modifying the gridset) or layout (e.g. by switching to another SLD style, or by changing the current SLD style), GWC will delete its current cache and start anew. This is working as expected, it basically assumes that you want to serve the most up do date mapview to your users (don't tile all your stuff if you are still experimenting with different map styles and compositions).
If it wouldn't delete the old data, your users would get a mixture of old tiles from before your changes and new tiles from after your changes, sometimes even bordering each other within one zoom level (and deleting/rerendering old tiles on the fly doesn't make much difference compared to deleting them all at once...).
Regrettably I couldn't find any more on this topic in GeoServer's manual, maybe someone else can add further information?