Trying out with MMA 11.0 strongly indicates that StepMonitor accesses the currently best guess, while EvaluationMonitor seems to access the trial guesses. Both can be accessed simultaneously by setting StepMonitor as well as EvalutationMonitor.
This is seen looking at a function we all know the minimum of ($x^2$), setting the acceptance probability to zero, and sowing the values in both ways.
One finds with :
Input
Reap[NMinimize[x^2,x,StepMonitor:>Sow[x],MaxIterations->10,Method->{"SimulatedAnnealing","BoltzmannExponent"->Function[{a,b,c},-\[Infinity]],"SearchPoints"->1,"InitialPoints"->{{1}},"PostProcess"->False,"RandomSeed"->6417}]]
Reap[NMinimize[x^2,x,EvaluationMonitor:>Sow[x],MaxIterations->10,Method->{"SimulatedAnnealing","BoltzmannExponent"->Function[{a,b,c},-\[Infinity]],"SearchPoints"->1,"InitialPoints"->{{1}},"PostProcess"->False,"RandomSeed"->6417}]]
Ouput
{{2.5813*10^-6,{x->0.00160664}},{{1.,0.48412,0.48412,0.48412,0.0497937,0.00160664,0.00160664,0.00160664,0.00160664,0.00160664}}}
{{2.5813*10^-6,{x->0.00160664}},{{1.,0.48412,0.873839,0.826477,0.0497937,0.00160664,0.172293,-0.103134,0.0712828,-0.0540525,0.00160664}}}
Here, we see that the first run (StepMonitor) always returns the best guess, while the second run (EvaluationMonitor) seems to return the random guesses.
In order to have two comparable runs, it is important to set "RandomSeed" as well. Also, "PostProcess" needs to be turned off, in order to stop at values that are really found by guessing randomly. Finally, "SearchPoints" is set to 1, which excludes deflecting different starting points.
Example how both can be tracked simulataneously:
Reap[NMinimize[x^2,x,StepMonitor:>Sow[x,"StepMonitor"], EvaluationMonitor:>Sow[x,"EvaluationMonitor"],MaxIterations->10,Method->{"SimulatedAnnealing","BoltzmannExponent"->Function[{a,b,c},-\[Infinity]],"SearchPoints"->1,"InitialPoints"->{{1}},"PostProcess"->False,"RandomSeed"->6417}]]
{{2.5813*10^-6,{x->0.00160664}},{{1.,0.48412,0.873839,0.826477,0.0497937,0.00160664,0.172293,-0.103134,0.0712828,-0.0540525,0.00160664},{1.,0.48412,0.48412,0.48412,0.0497937,0.00160664,0.00160664,0.00160664,0.00160664,0.00160664}}}
As stated initially, this is not a proof but merely strong indication.
(Edited 16:21 at day of post because my initial answer was wrong).
EvaluationMonitor
will be evaluated whenever the function is evaluated.StepMonitor
will be evaluated whenever a point is accepted which here should not necessarily be the best point found so far. I would assume that the best point found so far must be accessed by different means. $\endgroup$