Sempre tive dificuldade em retirar os acentos de uma string no PHP por expressões regulares, mas visitando o blog "http://ninguemfez.blogspot.com.br/2009/12/php-tirar-acentos.html" o usuário Ricardo disponibilizou uma forma simples e altamente eficaz de fazer isso: $valor = preg_replace("/&([a-z])[a-z]+;/i", "$1", htmlentities($valor)); Funciona perfeitamente.
Espaço para o registro de problemas e suas soluções. "Errar é humano, persistir no erro irrita".