Sorry, I don't know what else to tell you. I have fired up a quick, sample form. In one textbox (string) I used your same formula (I get 06). In the other textbox I just type in the month number (06).
It works fine. The button is disabled and enabled as I expect. That is, the comparison works correctly.
Moe1950:For January through September the month number from the substring(today(), 6, 2) formula is saved as a single digit, but, the month number in the other textbox is also a single digit.
When I use your formula in my test form, the formula yields 06, not 6, when the field is data type string.
If I change my form such that the field's data type is whole number (to avoid the leading 0) then you would need to change the result of the formula back to a number. Remember, substring is a string formula, so it returns a string. You could need to do number(substring(today(), 6, 2)) to convert it back to a number. When I do that I get 6 back from the formula, and I can type in a 6 and the formatting works as expected again.
So, to summarize, in my testing, as long as I keep my data types consistent, the comparison works as expected. It sounds like you've already played around with the form and the various data types. It's unfortunate that it's not working. Moving into a code solution for this seems too complex. Good luck!