skywalkerLAX BobBHX purchased a J ticket CDG-BKK which is covered by EC261. But since he is arriving in J on time EC261 does not apply. He is getting exactly what he has paid for. That he was given the privilege of obtaining an upgrade as a reward for his loyalty does not concern EC261. EC261 appears to exclude FFP rewards as much as is possible.
The upgrade is a matter between BobBHX and QR and no one else. According to the published rules he should have his Qmiles returned to him but not the Qcredits. However since this is a problem caused by QR he should expect some recompense from QR. But that is between the two parts involved.