Attached is my patch to allow polyglot to work.
Regardless of the commandline, craftyMode gets set. This happens because icsDrone receives sigint=0 from polyglot. I don't know enough about this project to determine if craftyMode should or shouldn't be set when using polyglot, so my patch does not address this issue.
1) I added a routine, polyglot() for determining if the engine is polyglot.
2) Pondering. In order for polyglot to make the engine ponder, it must get sent "hard\n". I have used easyMode to determine whether or not to send "hard\n".
3) Castling. The routine: ConvIcsSanToComp() apparently fixes some castling bug. This routine causes problems when using polyglot, so I prevented using the code when the engine is polyglot. It looks like polyglot correctly identifies a castle move w/out the need for this function, so it's redundant anyway.
allow use of polyglot and thus UCI engines