There isn't a lot of difference in meaning; but in past and present לומר is used exclusively, whereas in future and infinitive you can use either (though להגיד is perhaps more common).
Not completely, but almost. מה הוא is a rather common combination, and it is often pronounced more like "mau" than "ma hu".
"To say" is here "lomar". I thought it was "lemor". Did it just change over time?