Sorry, my mistake. The files were actually fine, they are just downloaded as ".bin". When I rename them, they open fine. Doesn't happen when I use my computer's browsers and doesn't happen downloading from other websites on my phone.
However, when I use stunnel (works fine on computer), they won't download at all over the phone (it just hangs and there is no progress). I get a lot of "Disconnected - x bytes sent" after the GET in my HFS log.
Using latest Android 2.2 stock browser and latest beta (but same behavior on older versions).