I have found the problem,
I was calling the function with
sol = ode45(@myfun,[0:1:12],[0 1 1],options);
and expecting the tspan values to appear in sol.x
however if you call the function
[x,y] = ode45(@myfun,[0:1:12],[0 1 1],options);
all ode solvers behave the same with x being equal to tspan. I think it must of been coincidence that the values were appearing in ode45 and ode113 sol.x vector.