Apparently, the file names for your single player campaign are generic. saveFile1.lua, saveFile2.lua, etc. Consequently, if you join a coop game with someone who happens to be on the same file number (Both players on their first and only campaign, for example), the client's game will be overwritten by a copy of the host's campaign.
How about a fix soon-ish, yeah? I'm not getting those 18 hours back, so getting SOMETHING would be nice. Append the player name to the start of the file or something, at least. BOB_saveFile1.lua instead, perhaps? So it's not identical and easy to accidently overwrite.