The criteria should be quite simple:
a) to be FM or above. It's not worth taking lessons from someone below this level since you might end up wasting time by learning wrong things. I also think that FIDE doesn't recognize as coaches those who don't have the master title.
b) you should be able to communicate with him effectively.
4) he should (in addition to the teaching skills mentioned above) actually enjoy teaching and not only do it to pay his bills.
An important point everybody missed ... thanks for pointing that out!