First question: I agree that if perturbation by X makes Q psd, perturbation by X' > X should (must!) also make it psd. So what you are observing suggests either something odd in the way CPLEX determines whether Q is psd, or possibly something odd about presolve reductions (?), which might change due to the perturbation.
Second question: I don't have much experience with QPs in CPLEX, but I suspect that there is no parameter to do this (or anything equivalent) for you. You might try turning on the numerical emphasis parameter. I don't know if that affects preprocessing, but if so, it might eliminate the need for the perturbation.
Third question: Beats me. If you have the Q matrix explicitly in memory (as a matrix), you might try computing its minimum (most negative) eigenvalue. Using the absolute value of that eigenvalue (or maybe the absolute value plus a tiny bit more) all along the diagonal should do the trick. If Q is very large, though, you may not want to pay the computational cost of computing the eigenvalues.
Paul
#CPLEXOptimizers#DecisionOptimization