C'est tout simple, pour définir la commande \greek@tilde l'auteur de l'option greek a choisi cette drolerie:
\begingroup \catcode`\~=12 \lccode`~=`! \lowercase{\def\x{\endgroup \def\greek@tilde{!}}\x}
Or, en français, le ! est actif, ce qui fout la merde si le français est chargé avant le grec. Il suffit d'une construction toute simple à la place pour éviter le bug:
\begingroup \catcode`\~=12 def\x{\endgroup \def\greek@tilde{~}}\xUn bug report a été envoyé le 26 février à l'auteur, sans nouvelles depuis. Un workaround a été mis dans le JMPL.
Les rapports de bug sont à envoyer à mon adresse mail (ci-dessous) et seront traités... quand j'aurais le temps. Merci de mettre la balise [bug] dans le sujet du mail.