We use apt-proxy on one machine in our intranet, which runs Sarge and also does some selective DNS forwarding, a thing we never could do right with proprietary software, at least not at the time we needed this feature.
Read about it at The Debian User
Of course apt-proxy has its problems, like any other software does. In our case, it sometimes times out with a single package, delivering the rest just fine. It also doesnt really like if its being proxied again through some squid or whatever in your firewall, so you could make an exception rule just for that one machine. To prevent your machines from not getting all the dependencies it may need, you can just leave the normal Debian repos in your sources.list files, so that when your apt-proxy doesnt answer fast enough, the machines themselves will ask other servers as well – that solved every issue I had around here.