Nej, der er ingen betingelse, hvorunder resultatsættene vil være anderledes.
Men din antagelse "a.id = b.id(+) har ingen betydning" er ikke 100 % korrekt. Det har en betydning, fordi den definerer sammenføjningen, ellers ville dette være et kartesisk produkt af a og b med alle rækker fra a og b.name ='XYZ'.
Hvad der ikke har nogen effekt er (+) , fordi udsagnet er "semantisk" forkert. Det giver ingen mening at ydre join på id, men at deltage på navn.
Normalt ønskes sådan noget:
select * from a,b where a.id =b.id(+) and b.name(+) = 'XYZ';
Kort eksempel på https://www.sqlfiddle.com/#!4/d19b4/ 15