manufacturing cost is not zero (unless you do online distribution).
it's also a very uneven playing field for a well established software company (with extensive distribution, advertising, and name recognition in place) compared to a startup.
as such it's still pretty easy for a large software company to reverse engineer and duplicate the functionality of a small companies product and then wipe out the small company (look what microsoft has done several times)
unlike other industries 'trade secrets' don't work in software because you have to distribute the exact instructions. you can obfuscate things to make it hard to figure out, but a determined person can just look at the instructions that you give to the CPU and see what you are doing.
in physical devices trade secrets can sometimes work because the secret can be in how the device was made.
now I am not arguing that software patents are a good thing, I'm just saying that you arguments for why they aren't are invalid.