The Corpus of Contemporary American English has only one occurrence of “For how long have you been”, but many occurrences of “how long have you been” used in this sense. So, it seems that, at least in American English, for is not used. The numbers are such that I'd say it probably holds in other dialects.
Well, for starters, ask has to do with asking a question, and ask for is equivalent to request.
Let's look a little more closely at the "help" sentence you found -- "If you need any help, please don't hesitate to ask."
I think there is a bit at the end that is implied but not expressed -- "If you need any help, please don't hesitate to ask (for some [help])." I think the part in parentheses is generally left out because the idea is clear enough without it.
Here's another version of the same idea that would work in English: "If I'm in my office, you can always come in and ask for help if you need any. Don't worry about interrupting me -- unless I'm on the phone, of course."
Now let's look at the "forgiveness" sentence. Actually, as you were wondering, you could indeed also say, "She asked for their forgiveness." But because of the repetition for... for, it sounds nicer the way your dictionary put it.
You asked about the difference between "ask help/permission/forgiveness" and "ask for help/permission/forgiveness." You can say all six of those, except ask help. That doesn't work.
Ask permission is more common than ask for permission, but this is the kind of thing you'll pick up naturally through practice. If I imagine myself telling someone to ask permission first -- I'm probably talking to my ten-year-old, and I want to make an impact -- so I speak as concisely as I can, with no optional prepositions!
I hope this helps you feel more confidence. I'm not a linguist -- but then, most English speakers aren't!
Best Answer
If your teacher can't explain why one word is better than another, then she didn't teach you; and so has no right to expect the correct answer. The nuance between 'maybe' and 'perhaps' is too fine to make one 'incorrect'.