Why isn't spawn-protection protecting the spawn?

Solved it!

A meandering discussion on the Talk page for the server.properties article on the Minecraft Wiki indicates that this is Forge's fault. Apparently it redefines spawn-protection to be a boolean that turns protection on or off entirely (which you can't do in vanilla), and defines a new variable, spawn-protection-size for what the former variable means for a vanilla server.

As a side effect, it appears that a server with the Forge API installed will honour the default spawn-protection area of 16 blocks until you edit the variable, at which point it treats it as boolean and looks for spawn-protection-size instead, doesn't find it, and effectively turns spawn protection off entirely.

So this is what happened to me then. Adding spawn-protection-size=42 to my server.properties file made spawn protection work (again) as expected. Redefining configuration variables is poor practice!