The water hammer arrestors are a good fix for the problem. I've had one on the cold water line near the main house valve for 9 years now with no problems and no water hammer. But, having said that and reading your original post again, the likely culprit is the toilet water valve. Since you didn't change any plumbing when the hammer started, it has to come from wear and tear or some kind of system change such as a change in line pressure. I'll vote for a worn toilet water valve that sets up an oscillation in the tank.
Tomsic