Bueno, pues despues de unos días... tal vez muchos, encontre una solución a mi problema, Nigel tenía razón, el meollo estaba en la codificación de los archivos, asi que hice lo siguiente:
Código PHP:
//esta es la función que tenía al principio
function tildes($varparam)
{
$res = "";
/*pero aca le agregué dos lineas adicionales para pasar los caracteres de UTF-8 a codificación ISO*/
$varparam2 = utf8_decode($varparam);
$varparam = $varparam2;
/*luego sigo con el procedimiento normal, aunque tambien agregué la ñ al proceso*/
for($i=0; $i<strlen($varparam); $i++)
{
$cur = substr($varparam, $i, 1);
if($cur=="e"||$cur=="é"||$cur=="è"||$cur=="ê"||$cur=="ë"||$cur=="E"||$cur=="É"||$cur=="È"||$cur=="Ê"||$cur=="Ë")
$res = $res."[eéèêëEÉÈÊË]";
else
if ($cur=="a"||$cur=="á"||$cur=="à"||$cur=="â"||$cur=="ä"||$cur=="A"||$cur=="Á"||$cur=="À"||$cur=="Â"||$cur=="Ä")
$res = $res."[aáàâäAÁÀÂÄ]";
else
if ($cur=="i"||$cur=="í"||$cur=="ì"||$cur=="ï"||$cur=="î"||$cur=="I"||$cur=="Í"||$cur=="Ì"||$cur=="Ï"||$cur=="Î")
$res = $res."[iíïîìIÍÏÎÌ]";
else
if ($cur=="o"||$cur=="ó"||$cur=="ô"||$cur=="ö"||$cur=="ò"||$cur=="O"||$cur=="Ó"||$cur=="Ô"||$cur=="Ö"||$cur=="Ò")
$res = $res."[oóôöòOÓÔÖÒ]";
else
if ($cur=="u"||$cur=="ú"||$cur=="ù"||$cur=="û"||$cur=="ü"||$cur=="U"||$cur=="Ú"||$cur=="Ù"||$cur=="Û"||$cur=="Ü")
$res = $res."[uúûüùUÚÛÜÙ]";
else
if ($cur=="c"||$cur=="ç"||$cur=="C"||$cur=="Ç")
$res = $res."[cCçÇ]";
else if ($cur=="Ñ"||$cur=="ñ")
$res = $res."[Ññ]";
else
$res = $res.$cur;
}
return $res;
}
Luego verifique que la codificación del archivo fuera ISO y listo, problema solucionado, gracias a todos por sus aportes.