I had almost the same problem, the simplest, shortest solution to show a link from a Hyperlink or Picture field in the CQWP that I've found is the following:
I have a list which contains two columns of interest for this example: Title and SiteURL. The SiteURL column is of type "Hyperlink or Picture".
When that column enters the ItemStyle.xsl the value looks like "http://url.of/link, Url title", so to make a link of if and display we need to get everything before the ',' and after the ',' and make a link of it.
This is my resulting template in ItemStyles.xsl, without any other modifications.
<xsl:template name="ThaBomb" match="Row[@Style='ThaBomb']" mode="itemstyle">
<xsl:variable name="MySiteLink" select="substring-before(@SiteURL, ',')"/>
<xsl:variable name="MySiteTitle" select="substring-after(@SiteURL, ',')"/>
When that's done, I went to edit the CQWP on the page, under Presentation->Item style I selected my template "ThaBomb" instead of Default. Also under Presentation->Fields to display I found my column SiteURL empty, in there I linked it to the actual column name
(from the list), which in my case is also SiteURL.
As for getting all the field names, I had to modify (and add to) the xsl from your link (http://www.heathersolomon.com/blog/articles/CustomItemStyle.aspx) like so:
Field: <xsl:value-of select="local-name()"/> : <xsl:value-of select="."/><br/>
to get the names and also add the values (which I thought I needed).
I believe the properties will display one of these fields under "Fields to display" for any field referenced in the template, but not necessarily bind it correctly. Anyway, after bound. Just hit OK and that did it for me, although in SharePoint 2013.
Hope it helps.