Some Cards Generate Multiple Results
If the entire name is contained within the name of another card, then linking the former card will return a result with both cards. An example can be seen with Circle of Protection: Art, which returns a list of both the specified card, as well as Circle of Protection: Artifacts.
Some Characters Produce Invalid Links
Certain characters being included in a card name (the ones I have discovered are detailed below). return invalid results.
The Apostrophe
Changed to %27 per HTML URL Encoding, which is then dropped by Gatherer altogether when the query is built. See: Ranger's Guile, which becomes a query for "rangers guile", and thus returns no results.
The Ampersand
Also generates an invalid result. See: R&D's Secret Lair[1]... Currently, only two cards contain an ampersand character, and both of those cards also contain an apostrophe, so if the apostrophe issue can be fixed, then those two cards will still result in broken links unless the ampersand issue is also corrected.
Most Other Characters Seem To Work OK
I have sampled other cards with special characters in the name, and discovered no other issues so far. Examples:
Alive (Alive/Well) (This one does return two results, however; one for each half of the split card, as opposed to linking to the card itself, which should work like this instead: Alive (Alive/Well)
It looks to me like the apostrophe is problematic for Gatherer's query engine because they are most likely not correctly escaping the character in their SQL strings.
Is This Within Our Means To Fix?
These issues seem to be a problem with Wizards of the Coast's API, and may not even be something that we can fix on our end, but if there is something that can be done about it, what might that be?
The only sure way (presently) to generate a link to the exact card intended seems to be using a traditional link to the card's multiverse-ID-based page, for example:
[Ranger's Guile](http://gatherer.wizards.com/Pages/Card/Details.aspx?multiverseid=370803)
Notes
[1] Interestingly enough, the symbol that you see in this link was typed in the editor as "&", but seems to be automatically changed, appending "and;" to the "&". Might there be a way to have this kind of thing formatted to show just the ampersand and not the encoded version? If the link actually uses an "&", it would produce a query of simply "r" (cutting off the ampersand itself and all following characters). But if the link uses the concatenated "&" + "amp;" that the auto-linker changes this to, Gatherer produces "rampds secret lair" as the query, which is also invalid.