1. Copyright law protects both copying of the source and the binaries, and software licenses and/or EULAs can legally limit things like reverse engineering, specific types of usage, etc.
Copyright law does not protect an invention. If I come up with something totally revolutionary someone else can possibly make another implementation of it. All of my hard work, research and effort has been bypassed. What's my incentive to make something magical ?
Or, on the other hand, if I invent something totally mind blowing but no one else can work out how to do it. Can you guarantee that all the details will be fully disclosed in a limited period of time ?
2. Those protections might be sufficient even if a large company (e.g., Microsoft) decided to appropriate the tech. An obvious appropriation may require legal action,
Tell me more about all these individuals successfully suing large companies who have stolen their IP.
3. The source to successful proprietary programs has been released on a number of occasions. 4DOS, Doom/Quake, and DR-DOS are three potentially interesting examples.
What has this got to do with software patents ? 99.99% of proprietary software is never made open source. There is a lot of software that is more then 20 years old for which you cannot get access to the core algorithms. These outliers don't prove anything.
1. He can get a monopoly on not just his specific implementation of an idea, but ON ALL POSSIBLE IMPLEMENTIONS of that idea. This prevents even those approaches to solving the problem which are technically quite dissimilar from being independently invented and used.
No, he gets a patent on that invention. If your algorithm uses his invention then you have got to get a licence. If your algorithm is "technically quite dissimilar" either you are using the invention or not, it's quite simple. The patent document can be used to seek new and completely different ways of solving the problem at any time after it has been published, without waiting 20 years.
2. He can make the patent application without disclosing source code, and without disclosing enough meaningful technical information for someone else to actually reimplement the idea.
This is not specific to software patents. Your problem is with the patent system itself. The majority of examiners are highly qualified and check whether or not the patent disclosure is sufficient for someone else to recreate the invention. If the disclosure is insufficient then the examiner is bad and the patent can be challenged.
3. The patent will effectively last forever in an information technology context
Again, this is not software specific. Most patents are for technology, therefore any amount of time is "forever". The patent has to last long enough to make it worthwhile to the inventor. You've got to give him a chance to recoup his investment, develop a product, license it out, etc.