Microstrip lenght problem
I don't know the details of how Sonnet works, but some typical things that could make the EM simulation differ from the idealized transmission line model are


Fringing fields at the end of the stub. A microstrip stub doesn't act like a lumped model of a perfect open circuit. There is some equivalent capacitive or inductive termination. This termination will change the phase of the reflected wave, and so change the line length that gives a resonant response. The 3D solver will model this more accurately than LineCalc.
Launch conditions. Depending how Sonnet models the input port, which is essentially a transition from a lumped-element model to the 3D geometry, there could be a discontinuity at the input to the line. This would again produce a reflection which would change the length of the stub needed to see resonance.

Similarly, if you were to build a real sample of this circuit, any reflection due to a discontinuity at the input would change the stub length needed to get an equivalent to a half-wave resonance.
Meshing. If you have chosen too sparse a mesh for the 3D simulation, its results will be inaccurate.
Boundary conditions. The choice of how the borders of the simulation region are modeled can affect the simulated result. 

Similarly, if you built a real circuit other conductive features like a lid on a package or an unrelated trace on the same substrate could slightly perturb the behavior of the stub.


As I've mentioned, there's several effects that will also make a real stub behave differently from your model, beyond which there's also the simple inaccuracy in manufacturing that means your W, H, and T parameters will never be exactly what you designed them to be. With this in mind, it's really best practice to make a design that is insensitive to small errors in any parameter; or, if necessary, to provide a tuning mechanism to allow the circuit to be adjusted individually to optimize the performance.