I don't know if this is true or not, but when I had to re-download some apps, I had to do it from the device I originally downloaded it from. So for example if I downloaded it from the iPhone via the app store, if I used the iPhone it just came up and told me I had already bought and downloaded this app and would I like to re-download the app. If I tried to use my iMac in iTunes to re-download the app it would give me the message that it was going to charge my credit card.
However...this was before the apps are correctly syncing back to iTunes so this may be fixed. If you are ever charged for an app that you bought and needed to re-download you can file a complaint with Apple and get your money back (for the 2nd charge only). There's an Apple Support article on this on Apple's website.