Uhm... so if wine is the problem... did you try setting up a fresh wineprefix recently?
export WINEARCH=win32
export WINEPREFIX=~/yournewprefix
winetricks DOTNET40
optionally: wincfg ( set virtual desktop = on, to your screen resolution or something )
Should work just fine... well, on the other hand, if you don't like wine, I'm mostly using find + sed, too. It's faster and easier on the eyes because the dotnet40-GUI flickers so horribly (feels like there's something glitchy and cpu-intensive that should really run in its own thread but can't do that due to some of wine's fake thread-handling shortcuts so instead it just runs in the main GUI drawing loop thingy and makes it blink/redraw in a twitchy fashion xD, well, I don't know).
Theoretically, with the source Splinterz posted, it should be really easy to do a small CLI-GUI for the binary ones at least... if I wouldn't suck at bash so much I could almost write i :3
Well, I guess at least I can almost manage to make a semi-functional list for easy copy-pasting (working only for the binary raw-only options of course):
for option in $(curl https://raw.github.com/splintermind/masterwork-dwarf-fortress/gold/Settings%20Source/exportedOptionTags.txt | grep -o "opt[^ ]*" | grep -v "Num"); do opt=$(echo $option | sed "s/^opt//" | tr [:lower:] [:upper:]); echo "find ./ -type f -exec sed -i 's/YES$opt\[/\!NO$opt\!/' {} \;"; echo "find ./ -type f -exec sed -i 's/\!NO$opt\!\[/YES$opt\[/' {} \;"; done;
which should output something like this, just much longer...:
find ./ -type f -exec sed -i 's/YESCBSTARTINGLABORS\[/!NOCBSTARTINGLABORS!/' {} \;
find ./ -type f -exec sed -i 's/!NOCBSTARTINGLABORS!\[/YESCBSTARTINGLABORS\[/' {} \;
find ./ -type f -exec sed -i 's/YESBTNTEMPERATURE\[/!NOBTNTEMPERATURE!/' {} \;
find ./ -type f -exec sed -i 's/!NOBTNTEMPERATURE!\[/YESBTNTEMPERATURE\[/' {} \;
find ./ -type f -exec sed -i 's/YESBTNWEATHER\[/!NOBTNWEATHER!/' {} \;
find ./ -type f -exec sed -i 's/!NOBTNWEATHER!\[/YESBTNWEATHER\[/' {} \;
find ./ -type f -exec sed -i 's/YESBTNCAVEINS\[/!NOBTNCAVEINS!/' {} \;
find ./ -type f -exec sed -i 's/!NOBTNCAVEINS!\[/YESBTNCAVEINS\[/' {} \;
find ./ -type f -exec sed -i 's/YESBTNINVADERS\[/!NOBTNINVADERS!/' {} \;
find ./ -type f -exec sed -i 's/!NOBTNINVADERS!\[/YESBTNINVADERS\[/' {} \;
find ./ -type f -exec sed -i 's/YESBTNLIQUIDDEPTH\[/!NOBTNLIQUIDDEPTH!/' {} \;
find ./ -type f -exec sed -i 's/!NOBTNLIQUIDDEPTH!\[/YESBTNLIQUIDDEPTH\[/' {} \;
find ./ -type f -exec sed -i 's/YESBTNADVCENTER\[/!NOBTNADVCENTER!/' {} \;
find ./ -type f -exec sed -i 's/!NOBTNADVCENTER!\[/YESBTNADVCENTER\[/' {} \;
find ./ -type f -exec sed -i 's/YESBTNADVTRAPS\[/!NOBTNADVTRAPS!/' {} \;
find ./ -type f -exec sed -i 's/!NOBTNADVTRAPS!\[/YESBTNADVTRAPS\[/' {} \;
find ./ -type f -exec sed -i 's/YESBTNPETCOFFINS\[/!NOBTNPETCOFFINS!/' {} \;
find ./ -type f -exec sed -i 's/!NOBTNPETCOFFINS!\[/YESBTNPETCOFFINS\[/' {} \;
find ./ -type f -exec sed -i 's/YESION.\[/!NOION.!/' {} \;
find ./ -type f -exec sed -i 's/!NOION.!\[/YESION.\[/' {} \;
find ./ -type f -exec sed -i 's/YESMASKCHILDBABYCAP\[/!NOMASKCHILDBABYCAP!/' {} \;
find ./ -type f -exec sed -i 's/!NOMASKCHILDBABYCAP!\[/YESMASKCHILDBABYCAP\[/' {} \;
find ./ -type f -exec sed -i 's/YESCBAUTOSAVE\[/!NOCBAUTOSAVE!/' {} \;
find ./ -type f -exec sed -i 's/!NOCBAUTOSAVE!\[/YESCBAUTOSAVE\[/' {} \;
find ./ -type f -exec sed -i 's/YESBTNAUTOSAVEPAUSE\[/!NOBTNAUTOSAVEPAUSE!/' {} \;
find ./ -type f -exec sed -i 's/!NOBTNAUTOSAVEPAUSE!\[/YESBTNAUTOSAVEPAUSE\[/' {} \;
find ./ -type f -exec sed -i 's/YESBTNAUTOBACKUP\[/!NOBTNAUTOBACKUP!/' {} \;
find ./ -type f -exec sed -i 's/!NOBTNAUTOBACKUP!\[/YESBTNAUTOBACKUP\[/' {} \;
find ./ -type f -exec sed -i 's/YESBTNEMBARKSAVE\[/!NOBTNEMBARKSAVE!/' {} \;
find ./ -type f -exec sed -i 's/!NOBTNEMBARKSAVE!\[/YESBTNEMBARKSAVE\[/' {} \;
find ./ -type f -exec sed -i 's/YESBTNCOMPRESSSAVES\[/!NOBTNCOMPRESSSAVES!/' {} \;
find ./ -type f -exec sed -i 's/!NOBTNCOMPRESSSAVES!\[/YESBTNCOMPRESSSAVES\[/' {} \;
find ./ -type f -exec sed -i 's/YESBTNPAUSELOAD\[/!NOBTNPAUSELOAD!/' {} \;
find ./ -type f -exec sed -i 's/!NOBTNPAUSELOAD!\[/YESBTNPAUSELOAD\[/' {} \;
find ./ -type f -exec sed -i 's/YESBTNTRANSFORMMSGS\[/!NOBTNTRANSFORMMSGS!/' {} \;
find ./ -type f -exec sed -i 's/!NOBTNTRANSFORMMSGS!\[/YESBTNTRANSFORMMSGS\[/' {} \;
find ./ -type f -exec sed -i 's/YESBTNDIGSTOP\[/!NOBTNDIGSTOP!/' {} \;
find ./ -type f -exec sed -i 's/!NOBTNDIGSTOP!\[/YESBTNDIGSTOP\[/' {} \;
find ./ -type f -exec sed -i 's/YESCBWINDOW\[/!NOCBWINDOW!/' {} \;
find ./ -type f -exec sed -i 's/!NOCBWINDOW!\[/YESCBWINDOW\[/' {} \;
find ./ -type f -exec sed -i 's/YESCBPRIORITY\[/!NOCBPRIORITY!/' {} \;
find ./ -type f -exec sed -i 's/!NOCBPRIORITY!\[/YESCBPRIORITY\[/' {} \;
find ./ -type f -exec sed -i 's/YESBTNINTRO\[/!NOBTNINTRO!/' {} \;
find ./ -type f -exec sed -i 's/!NOBTNINTRO!\[/YESBTNINTRO\[/' {} \;
find ./ -type f -exec sed -i 's/YESBTNEMBARKWARN\[/!NOBTNEMBARKWARN!/' {} \;
find ./ -type f -exec sed -i 's/!NOBTNEMBARKWARN!\[/YESBTNEMBARKWARN\[/' {} \;
find ./ -type f -exec sed -i 's/YESMASKEMBARKSIZE\[/!NOMASKEMBARKSIZE!/' {} \;
find ./ -type f -exec sed -i 's/!NOMASKEMBARKSIZE!\[/YESMASKEMBARKSIZE\[/' {} \;
find ./ -type f -exec sed -i 's/YESCBPRINTMODE\[/!NOCBPRINTMODE!/' {} \;
find ./ -type f -exec sed -i 's/!NOCBPRINTMODE!\[/YESCBPRINTMODE\[/' {} \;
find ./ -type f -exec sed -i 's/YESBTNSPRITES\[/!NOBTNSPRITES!/' {} \;
find ./ -type f -exec sed -i 's/!NOBTNSPRITES!\[/YESBTNSPRITES\[/' {} \;
find ./ -type f -exec sed -i 's/YESBTNTRUETYPE\[/!NOBTNTRUETYPE!/' {} \;
find ./ -type f -exec sed -i 's/!NOBTNTRUETYPE!\[/YESBTNTRUETYPE\[/' {} \;
find ./ -type f -exec sed -i 's/YESBTNSOUND\[/!NOBTNSOUND!/' {} \;
find ./ -type f -exec sed -i 's/!NOBTNSOUND!\[/YESBTNSOUND\[/' {} \;
find ./ -type f -exec sed -i 's/YESBTNFPS\[/!NOBTNFPS!/' {} \;
find ./ -type f -exec sed -i 's/!NOBTNFPS!\[/YESBTNFPS\[/' {} \;
find ./ -type f -exec sed -i 's/YESBTNFROSTGIANTS\[/!NOBTNFROSTGIANTS!/' {} \;
find ./ -type f -exec sed -i 's/!NOBTNFROSTGIANTS!\[/YESBTNFROSTGIANTS\[/' {} \;
find ./ -type f -exec sed -i 's/YESBTNWARLOCKS\[/!NOBTNWARLOCKS!/' {} \;
find ./ -type f -exec sed -i 's/!NOBTNWARLOCKS!\[/YESBTNWARLOCKS\[/' {} \;
find ./ -type f -exec sed -i 's/YESBTNAUTOMATONS\[/!NOBTNAUTOMATONS!/' {} \;
find ./ -type f -exec sed -i 's/!NOBTNAUTOMATONS!\[/YESBTNAUTOMATONS\[/' {} \;
find ./ -type f -exec sed -i 's/YESBTNORCS\[/!NOBTNORCS!/' {} \;
find ./ -type f -exec sed -i 's/!NOBTNORCS!\[/YESBTNORCS\[/' {} \;
find ./ -type f -exec sed -i 's/YESBTNGOBLINS\[/!NOBTNGOBLINS!/' {} \;
find ./ -type f -exec sed -i 's/!NOBTNGOBLINS!\[/YESBTNGOBLINS\[/' {} \;
find ./ -type f -exec sed -i 's/YESBTNKOBOLDS\[/!NOBTNKOBOLDS!/' {} \;
Aaaand if I'd still remember how that "make curses gui from lists or lists of pairs"-progam was called, that would even be useful and not just a mess :3
Anyway: Just use sed, it'll work out somehow! sed is like magma. Just use it, don't worry. On everything. If necessary use it on binaries or combine it with sudo - it can potentially fix every problem theoretically!