"I don't promise nothing" actually is wrong (it's not just "sounds wrong"). It is actually ungrammatical, because it is a double-negative (which are pretty much never correct in English). "anything" is really the only correct option here.
I responded here that:
Double negatives can be perfectly acceptable in standard English. They are common in some dialects.
The [response] was to deny that my examples were double negatives at all, and to reassert an absolute rule against them, as the poster understood the term:
almost none of your examples are actually double-negatives. First, "un"-prefixed adjectives, etc, or verbs like "disagree", are not negatives in a grammatical sense. Secondly, a double-negative occurs when somebody uses two negative terms but actually means a negative (instead of a positive) result, such as "don't promise nothing", which is logically inconsistent with what was said, and therefore wrong.
I posted a question over on ELU, which has gotten several comments, but no formal answers, as well as links to http://websites.umich.edu/~jlawler/CELS-Negation.pdf and https://english.stackexchange.com/q/20629/191178 which seem interesting.
I am also concerned by this commentwhere the poster writes:
people seem to have the silly notion that just because people use a construction in English that that automatically makes it correct, but that is not how grammar actually works. Yes, people do bend the rules all the time for various reasons but that does not mean that one should pretend they don't exist at all, especially when talking to those new to the language.
I am concerned by the degree of prescriptivism which that comment seems to embody and by the effect of such an attitude on learners, who seem often all too ready to expect prescriptivist rules to govern English. See Descriptivist versus prescriptivist approach in describing 'correct' and my answer to that question
I also believe that the definition of "double negative" that these comments use is simply incorrect, specifically is unduly limiting, and that text using, for example litotes is considered a form of double negative.
I invite comment.