When you deploy to CDF, cells are not evaluated, only dynamic objects like the output of Manipulate. When that Manipulate output is evaluated by the CDF Player the variables xsol, ysol and tmax are undefined so it doesn't work. So you have to make everything self contained by hand:
With[{tmax = 2 \[Pi]},
With[{solutions = NDSolveValue[{x'[t] == y[t], y'[t] == -x[t], x[0] == 1, y[0] == 0}, {x, y}, {t, 0, tmax}]},
Manipulate[
Graphics[Point[{xsol[t], ysol[t]}], PlotRange -> {{-1.5, 1.5}, {-1.5, 1.5}}],
{t, 0, tmax},
Initialization :> ({xsol, ysol} = solutions)]]]
Or just add a SaveDefinitions
option to your Manipulate which is much easier (and dangerous).