Incorrect grammar versus different dialects
I'd put this in the same category as "ain't".
While regularly used in conversation, I'd never use it in any written paper.
Ask her if that's how she would write it should she be writing a formal document.
Spoken language is generally more flexible, and I'm wondering if she doesn't mean "I've done my homework" and due to accent it sounds like "I'm", because "I've done my homework" would be proper English.
Edit to add more information
"I did my homework" is correct using simple past form of "do".
"I have done my homework" is correct using present perfect tense form of "do".
"I am done with my home work" (or "I'm", being a contraction of I am) is using "done" as an adjective, the verb is am (first-person singular present indicative of be).
"I'm done my homework" is just wrong. Done is being used as an adjective (I am done), and "my homework" is an incomplete clause.
Either you must remove the verb am and replace "done" with "did", or add the word "with" to link "my homework" to the statement.
The only way this could possibly be correct, is if people are pronouncing the "ve" of "I've done my homework" as an "m" for some odd reason. "I've done my homework" is proper (I have done my homework).
On an unrelated note, I agree Jay's answer philosophically.
It is not really a matter of being "allowed" to use non-standard grammar: there is no law, as far as I know. It may very well be so that this is part of some dialect. However, non-standard grammar is often advised against by those who use standard grammar. That is why she might want to learn the standard construction too—at least well enough to be able to use it in job interviews etc.
This is an example of a very interesting question.
When does incorrect English usage become a dialect?
The answer to which I would guess, is when a whole lot of people use it "incorrectly" for a sustained period.
If it is acceptable within a group, but not the whole - it is dialectical.