Oh, I noticed this else log line in your .u file after the check for if (GrapHook != None)
if (GrapHook != None)
{
GrapHook.Launch(Pawn(Owner), Range, HookSpeed, bFlagFly, HookKillMode);
bRetract=False;
if ((ROLE==ROLE_Authority) || (Level.NetMode == NM_Standalone))
bHookOut=True;
settimer(0.1,true);
Spawn(class'FireSnd',Owner,,Owner.Location);
bNoResetSound=false; // Called too early in DestroyHook() so we do it here
}else{
log("Failed to spawn grapple hook");
}
Which NDgrap49c did you use to extract and rebuild from? This is the one on the server which matches the md5 from medor's NDgrap49c_Full download.
$ md5sum NDgrap49c.u
a718dc04245143593d15eb290fd1b130 NDgrap49c.u