If I had to guess, I would say your issue is not due to crimbo, but that this script was not designed to handle someone running multiple instances of mafia simultaneously. The reason it forgets / mixes up options between difference characters is obviously because when you save changes in one character it overwrites the file where this script stores its data, without regard to the fact that a difference version of this file is opened (read: in the RAM) of another instance. which in turn overwrites said file again.
In order to have multiple programs/instances access the same specific file at the same time requires you to implement a database model of data access rather than a simple text
https://en.wikipedia.org/wiki/Database
Although it might be possible to use different files for different accounts and only have OCD load the files specifically matching the account name in question. That way so long as your multiple mafia instances are for different accounts it should work.