If this bill passes, it won't change anything. The professors that write these books will simply reject the U.S. funds
That's just not possible. Almost all universities run on federal funds. If a given professor's research isn't sponsored by federal funds, the cost of the building in which she works almost certainly is (at least in part). The concept of "rejecting" U.S. funds is like rejecting your paycheck, you worked hard to earn it, you take it.
and get money from other places like IBM, Microsoft, Ford, and so on.
These places are giving out money for biology, chemistry, theoretical high energy physics, english, history, philosophy, sociology, psychology?!? Maybe a little, but not much.
Professors want to be reimbursed for their many hours of work, not give books away for free (or cheap).
First, we (professors) are reimbursed, we're paid by our university to produce exactly this sort of work. So, professors who are being paid for their textbooks are (in a sense) double dipping. We are also grossly underpaid for the amount of work and the level of qualifications, so I can't really fault someone for this, but it is double dipping.
Second, we don't get much for books. We do give them away for cheap.