This kind of discrepancy has always existed in italian; it is referred as "Accordo del participio passato" (Accordance of the past participle) and there is not a "fixed" rule, the rules are kind of "liquid".
This article explains better your case:
Il tuo ragazzo ha riparato la lavastoviglie?
In this sentence the direct object (lavastoviglie) is postponed and the gender accordance between it and the past participle can be (and usually is) omitted; the article from La Crusca also states that this form is to be preferred.
No, non la ha riparata.
In this sentence there is an unstressed pronoun ("la" in "la ha" or "l'ha") that exerts a kind of "attraction force" that requires concordance to the past participle.