Por que os dados não devem ser modificados em uma solicitação HTTP GET?

Eu sei que o uso de métodos não-GET (POST, PUT, DELETE) para modificar dados do servidor é o caminho certo para fazer as coisas. Posso encontrar vários recursos alegando que solicitações GET não devem alterar recursos no servido

No entanto, se um cliente me procurasse hoje e dissesse "Não me importo com o que é a maneira certa de fazer as coisas, é mais fácil usar sua API se pudermos usar apenas URLs de chamada e recuperar XML novamente." - não queremos criar solicitações HTTP e POST / PUT XML ", o que razões favoráveis aos negócios eu poderia dar para convencê-los do contrário?

Existem implicações de armazenamento em cache? Problemas de segurança? Estou meio que procurando mais do que apenas "não faz sentido semanticamente" ou "torna as coisas ambíguas"

Editar

Obrigado pelas respostas até agora sobre pré-busca. Não estou tão preocupado com a pré-busca, já que a maioria usa o API da rede interna e não páginas HTML visitáveis que teriam links que poderiam ser pré-buscados por um navegador.

questionAnswers(7)

yourAnswerToTheQuestion