hi
do you know what fault codes were reset, might point you in the right direction
also if the xj is anything like a s-type, if the battery gets low, it can throw up many faults and codes
they might of charged the battery, cleared the fault codes and hey presto its ok ( till 3 weeks later )
I'd be tempted check the battery, it should be over 14 volts when running and never below 12 volts when not running.
battery is a common problem on s-types, if you have over 14 volts when running, could be just battery.
cheers
Joe