Like I said before, I'm no coder, so I can't really implement it, but i have a suggestion for anyone who wanna give it a try:
A nifty javascript+cookie+referer thingie.
Javascript is executed on the client, so it does not require anything specific by the server.
The first page would be a timer-page with a javascript that counts down the preset "discouragement-time".
When 0 is reached a cookie is set and you get sent to the real download page.
This page has another javascript which checks for the cookie (to make sure that the timer was not bypassed) and checks for a valid referer (to prevent external linking).
Since it is all executed on the client it can of course be bypassed, but most people wouldn't put the effort in I think?
Somewhere in there you could also set a cookie if a banner is clicked and thus require X amount of banners to be clicked.
I'm not even sure if javascript can do those things (cookie- and refererchecks) but I'm sure someone else around here knows?
I know
I would sure dislike downloading that way, and so I'd go for ed2k-downloading instead...