I came across this gotcha with a recent Lync installation. My customer wanted to put an underscore “_” in their Lync Pool name. The Lync Topology Builder accepted it and everything seemed fine. However, when I came to request the certificates, the PowerShell command failed as the FQDN was invalid due to the underscore!!
Since this was the first Lync Pool in the Forest, it also homed CMS which caused me some head scratching. (Should I be worried about moving CMS to a new pool-name?) However, I removed all the databases and un-installed the Lync components and SQL Express components on the front-end server. Next I created a new topology in Topology Builder (without the underscore _ this time!) and then re-published it. After re-installing the Front end server, everything was fine.