Your are right, I have modified the DLL for the friendly fire, the stock version can't work correctly.
The modification is only a few lines of codes. If you know somebody that could compile a DLL, it's really trivial to add this to the standard version.
In case of, here is the modification :
In
game\g_cmds.c line Line 53, add these lines at the start of the function OnSameTeam()Code:
if ( coop->value
&& strcmp(ent1->classname, "player")==0
&& strcmp(ent2->classname, "player")==0 )
return true;