Und wieso das ganze Projekt, inklusive Dateien, kopieren so dass alles doppelt drin ist? Dafür könnte man auch #if oder einen Runtime-Check nutzen, so hast du dann nur ein Projekt das für Windows & Mono verwendet werden kann.
Der Code wird nur kompiliert wenn das Symbol definiert wurde. Ob Mono jetzt WINDOWS setzt/nicht setzt weiß ich nicht, aber man kann auch eigene Symbole in den Einstellungen definieren und so verschiedene Projekt-Einstellungen anlegen.
Würde da eher NeoLua(Codeproject Artikel) empfehlen. Das ist kein Wrapper sondern eine pure C# Implementation über die DLR(Läuft auch mit Mono ohne Probleme).