>>32
いまちょっとソースさわれないからコピペできないけど、ldd で cygwin1.dll がロードされてないかチェックする関数作って、
判定か偽の時は "\\(\\(\\\\\\)*\\)\"" => "\\1\\1\\\\\"" な正規表現でクォートするってので一応解決できたよ。
正規表現は今動かせないから間違ってるかもしれないけど。

ldd 呼び出すときにクォートの advice が再帰しないようにする必要あり。

書いてる時に思ったんだけど、cygwin の dll でクォート切り替えてるってことは msys 系のは正しくクォートされないんじゃないかなぁ。
ネイティブの NTEmacs も似たような判定法だったんだけどそこらへんどうなってるんだろ。