Realmente de dominios ACE e IDN no tengo la menor idea, pero puedes identificar facilmente los caracteres de esta forma
Código PHP:
<?php
if (eregi("[a-zA-Z0-9]{2,100}",$dominio) && !eregi("[ñ]",$dominio)) { echo 'dominio ACE'; }
elseif (eregi("[áéñü]{2,100}",$dominio)) { echo 'dominio IDN'; }
?>
Deberia funcionar... o quizas no te entendi bien...
Saludos!
PD: El {2,100} es la cantidad minima y maxima de caracteres...