There can be a few reasons for this to happen.
The WP eStore plugin goes through a set of post payment verification process after a payment is made. The following URL has a diagram that outlines the verification steps:
http://www.tipsandtricks-hq.com/ecommerce/?p=523#payment-verification
The plugin will not give out the link to the customer if any of the above mentioned verification fails. The easiest way to pinpoint what is failing is to "Enable Debug" from the settings menu of this plugin.
When you turn on debug from the settings menu and you will be able to see every step of the transaction process (IPN validation, product verification etc) in the "ipn_handle_debug.log" file. This post explains how to use debug:
http://www.tipsandtricks-hq.com/forum/topic/how-and-when-to-enable-debug-and-what-does-it-do
Share the content of the debug file and I should be able to tell you what is going wrong.
If however you see the debug file (ipn_handle_debug.log) is empty then that could be the main issue. Please make sure your server does not have any firewall that's blocking PayPal from communicating with this plugin (The "Bad Behavour" plugin is known to stop PayPal from sending Payment Notification to your server). Also make sure you have the "Email Notification & Digital Product Delivery" checkbox checked.
Also, check this post to make sure none of those are preventing the email delivery:
http://www.tipsandtricks-hq.com/forum/topic/not-receiving-emails-even-though-the-plugin-sent-the-email