Which means that at the very least, companies should be able to classify at least some portion of salary costs as "not software development". Maintenance, bug fixing, useless meetings, etc?
It would certainly be consistent with the spirit of R&E to not classify maintenance and bug fixes as R&E, and it would definitely reduce the sting of this change for established companies. Startups would still be pretty screwed.
The result has been things that cost money are "balanced" by raising taxes somewhere--but politicians don't want to raise taxes. Thus we get all sorts of garbage that fiddles with the details without "raising" taxes, but "raises" revenue--often by pulling it forward rather than actually changing the total amount.
We have also seen a lot of things that employers used to simply pay changed to income for the employee but deductible--but that causes the FICA taxes to be paid in all cases and since an awful lot of employees aren't in a position to itemize those deductions are lost. Something that was tax free now becomes income, but they didn't "raise" taxes.
I'd like to take the idiotic idea and stand it on it's head: I would not permit *any* measure to fund itself. A measure would either be a tax bill or a spending bill, it would be prohibited for a bill to do both. That would remove much of the drive to create insanities like this and Congress could work on cleaning up all the garbage. To accomplish this, though, we will have to evict all those idiots who "promised" never to raise taxes (but are perfectly willing to vote for stealth increases that cause a lot more pain per $ raised than doing it honestly would.)
One could probably apportion some blame to the businesses who assumed a fix from Congress would be forthcoming, but on the whole it seems to me like a spectacularly il-conceived bit of the tax code that never should have been passed in the first place.