Is "Do math to save" unclear?
I’m inclined to agree with your designer. Buttons are supposed to be labeled with the action the app does, not the user. “Do Math to Save” may sound to some users like they have the option of making the app complete the calculation for them if only the user can figure out how to enable the button for it. Other users may think the disabled appearance makes the text non-applicable when the opposite is true.
The prompt (the bold text about the equation) tells the user what to do. The current prompt is probably okay, but it would be slightly clearer if it were more like “Do math to post.” The text “What is the sum of” is redundant with “4 + 6 = .” Consider adding the equals sign and deleting the text to focus more attention on the key prompt above.
“Post New Topic” or “Submit”?
It’s long been recognized that command buttons should be labeled with the specific action they do (e.g., see Windows 7 guidelines). This confirms to the user what action they’re executing. Users can and will skip the dialog title but they have to at least focus on the command button to click it.
“Post New Topic” is consistent with this. You might be okay with just “Post,” but only if the topic text is on the same page –otherwise the users may think they’re posting their arithmetic answer. “Save” doesn’t necessarily mean the topic will become public, which is important for the user to know.
“Submit” is the “OK” of web apps, a generic label having very little meaning. Use it only if you have nothing better. The position of the Post button and the visual hierarchy of the page should make it clear that Post is the final execution action.
Will a Community Vote to Change Labels?
Humans can get used to all kinds of wacky arbitrary things. The thing is once users/programmers have learned something, they’ve learned it; they’ll get no benefit in changing it. So why would they suggest such a thing?
The problem in your situation may be that the users that suffer the most from unclear labels have the least ability to complain about it –they’re new users weakly connected with the development community. Once they’ve gotten into the app enough to know how to complain, they’ve already been indoctrinated.
Experienced users use controls more by their position than their labels. As long as you don’t simultaneously change the graphic design or layout of the controls, I expect you can change the labels to be more effective for novice users while having minimal impact on your experienced users. Your experienced users may not even notice it for many pages. The question is, what labels are more effective for novices? Without somehow involving novices in the development (e.g., through user testing), you’re just making educated guesses.