You would only ask it that way if you were asking about this one specific dinner. If you were asking in general, you would start the question "Does she have...". From what I've seen so far, I think Russian has only one type of present tense, so both questions would be translated the same in Russian.
Not really. It more of a grammar thing.
We don't add «н» if the preposition refers not to the pronoun, but to a word modified by a pronoun:
- У её сестры́ на у́жин у́тка и су́п? Does her sister have duck and soup for dinner?
Phonetically it's the same «её», the only difference is grammar (in «у её сестры́», «у» refers to «сестры́», and «её» modifies «сестры́»; in «у неё», «у» refers to «её» directly, so we add н-).
If you’re interested in the historical perspective, please see my comment here: https://www.duolingo.com/comment/11557026
«На у́жин» is usually about the food you're preparing for supper:
- На у́жин бу́дет сала́т. 'There will be a salad for supper.'
- Я заказа́ла пи́ццу на у́жин. 'I've ordered pizza for supper.'
«На у́жине» usually refers to a supper as a social event. Here's an example from Google:
- На у́жине большо́й двадца́тки президе́нта РФ посади́ли в углу́. 'At the G20 dinner, Russian president was seated at the corner.'
Sometimes you can use both:
- На у́жин/у́жине бы́ло мно́го еды́. 'There was a lot of food for supper.'
ok this once was just plain confusing. i try not to hover over the russian words often but when i did i got so confused. it directly translates to "she for dinner is a duck and soup" i though about what the correct answer was, but didnt see "have" in russian. not sure what went wrong but i couldnt figure this out on my own.