no tenes definido el formulario con nombre frm como necesitas en el script -> document.
frm.txtUSA.value ... Ademas estas llamando a la funcion antes que darle el valor al campo de texto.
Asi que lo mejor es que cambies el frm.txtUSA por getElementById("txtUSA"):
Código PHP:
<html>
<head>
<script language="javascript">
function Parametros(){
window.open("Nueva.asp?USA=" + document.getElementById("txtUSA").value, "PopUpUSA", "width=397, height=387, left=443,top=300, scrollbars=no, menubar=no, location=no, resizable=no")
}
</script>
</head>
<body>
<p align="center">
<input type="text" class="CajaTexto" name="txtUSA" id="txtUSA" size="5">
</p>
<p align="center">
<a href="#" onclick="document.getElementById('txtUSA').value=<%=i%>; Parametros();"><%=i%></a>
</p>
</body>
</html>
si al campo de texto solo lo usas para pasar el dato al popup, te recomiendo que en vez de uno de texto uses uno invisible para que no se vea:
<input type="text"> ---> <input type="hidden">