Yes, in my case I was using .htaccess and Mod_Rewrite to have my pageroot in a subfolder of public_html instead of having the files and folders directly in public_html. I set it up that way because I had 23 other sites/domains on that hosting account, each in a subfolder of public_html, and it would have been messy as hell to have my shop files/directories mixed in with those directories. Not to mention that if you went to myshop.com/othersite's_directory you'd get the content from my other sites as subfolders of my shop!!! Bleah! So you can see why I set it up that way.
Now, my hosting provider by default assigns the primary domain for the account to the public_html folder directly, and I had to make my shop the primary domain for the account in order to get the SSL certificate... so I used the .htaccess method to keep my shop files nicely in their subfolder. Except it broke a few things doing it that way, and the Gift Certificate send was one of them. In order to work, the shop had to be DIRECTLY in the public_html directory.
Just a personal note about how annoying this all was for me: my hosting provider will not transfer an SSL certificate to a new account. That was my first thought--move the shop to a new hosting account (it's only like $5/month, so no biggie). But nope, because they won't move the SSL to a new account, what I ended up having to do was move all 23 other sites; domains, subdomains, ftp accounts, 17 databases, email forwarders, cron jobs, etc. to a new account. That was several days of hell. Moving the databases renamed ALL of my databases and database users (my hosting company makes all databases/database users start with "yourusername_" and I had a new username), and of course anything that had a hard-coded server path had to be edited since my home directory went from /home5/oldusername/ to /home2/newusername/ ... you wouldn't believe the places I kept finding hard coded paths, even a couple of weeks later. Ugh. I'm so glad that's done.