Teóricamente, son diferentes.
Prácticamente, no tanto.
Son diferentes en Objective-C, los objetos pueden optar por no responder a los mensajes, o reenviar mensajes a diferentes objetos, o lo que sea. En idiomas como C, las llamadas a funciones realmente están saltando a cierto punto en la memoria y ejecutando el código. No hay un comportamiento dinámico involucrado.
Sin embargo, en casos de uso estándar, cuando envía un mensaje a un objeto, el método que el mensaje representa generalmente terminará siendo invocado. Entonces, aproximadamente el 99% de las veces, el envío de un mensaje dará lugar a una llamada a un método. Como tal, a menudo decimos "llamar a un método" cuando realmente queremos decir "enviar un mensaje". Prácticamente, casi siempre son lo mismo, pero no tienen que ser.
Hace un tiempo, me encerado filosófica sobre este tema y escribió sobre él: http://davedelong.tumblr.com/post/58428190187/an-observation-on-objective-c
edición
Para responder directamente a su pregunta, por lo general hay nada de malo en decir "llamar a un método" en lugar de "enviando un mensaje". Sin embargo, es importante entender que hay una diferencia de implementación muy significativa.
(Y como un aparte, mi preferencia personal es decir, "invocar un método en un objeto")
+1 gran pregunta. Comprender la diferencia entre estos dos es (IMO) una clave para entender la flexibilidad de Objective-C. –
piensa en esto, puede "enviar un mensaje a Nil" de manera segura, ¿puede "llamar a un método" de manera segura en un Nulo? –