Downloads are not activated until payment has been received.
So, if your customer pays using the "offline credit card" module, you DO NOT have the payment ... all you have is the credit card number.
Using the offline credit card module, after you've processed the card manually in your credit card terminal and obtained an authorization number from the bank, then you need to go in to your admin, click on that order, click on Edit, and scroll down to the bottom and upgrade the order's status from "pending" to "processing". After that time the customer will be able to see their download links by going to their My Account page and clicking on the order. Using the manual module means that you need to manually handle each order yourself ... which means that customers will never see the download links on the checkout-success page ... because YOU DON"T WANT THEM TO!!!!! since you've not actually received payment yet.
Automated gateways like Authorize.net can be configured to set the order to "Processing" automatically after the gateway gets a response back that the payment is completed. That's why the status setting is already at "processing" for those modules when they're installed. Since the gateway is actually only storing the order when the payment IS received, they can activate the order immediately, meaning the checkout-success page will see the download links. But that only works if you're using a live gateway tied to a merchant account.
It works fine with the "freecharger" module because the order is free, and thus the download is available immediately because you aren't needing payment before activation.
How do I get my money? When a customer buys, how do I get paid?
How do I set up the basic Credit Card module used for Offline processing?
How do I set up the Authorize.net AIM module?