Scusa, ma, ... la funzione NON ha parametri e tu la chiami con un parametro?
io la vedrei così:
codice:
<html>
<head>
<script language="javascript">
function Validate(theForm) {
  for (var i=0; i<theForm.elements.length; ++i)
    if (theForm.elements[i].value == "") {
      alert("Attenzione il campo è obbligatorio!");
      theForm.elements[i].focus();
      return false;
    }
  return true;
}
</script>
</head>
<body>
<form action="inserisci.asp" onsubmit="return Validate(this)" method="post" name="forms">
<input type="text" name="news" size=20>

<input name="Inserisci" type="submit" value="Procedi"/>
</form>
</body>
</html>
... o no?
EDIT: noto ora che hai messo l'attributo name="forms" alla tua form ... pericolosetto! (specialmente con IE, che mescola i names e gli ID) ... forms è una collezione in Javascript .. io cambierei il nome!

HTH
Zappa