Your sentence is not ungrammatical. The verb to see and other similar verbs are not commonly used in the present progressive, but there is no rule against it. Here is a link to an extensive discussion:
And here is a link to a Duolingo discussion page where I and others discuss the same issue:
I thought about both "is seeing" and "sees". They both felt awkward but I did pick "is seeing". Usually I'd say "he just saw". If this comes up again I'll try this since it feels like it's the best translation to English even though it's past tense. Update: "he just saw" is not accepted.
The direct object pronoun "la" can mean "her" or "it." In either case, it is feminine and agrees with the gender of the direct object.
"He recognizes his sister when he sees her in the magazine." = "Il reconnaît sa sœur quand il la voit dans le magazine."
"He recognizes the house when he sees it in the magazine." = "Il reconnaît la maison quand il la voit dans le magazine."
"La" (without an accent) is a feminine, singular definite article and object pronoun, so it translates as "the," "her" or "it."
"Là" (with an accent) is an adverb of place or time. It usually translates as "there," but it can also mean "here," "then" or "at that time."
More details here: Link
My understanding is that when a phrase is a direct object you use le/la/les. But if it is an indirect object you use lui/leur. To clarify a direct object is the "person or thing that receives the action of a transitive verb" as is the case here. Whereas an indirect object is "the person or thing to/for whom the action of a verb is occurring." It is usually after a preposition, such as "à". For example, I gave a computer TO Jill. J'ai donné un ordinateur à Jill. In this case it would be Je lui ai donné.