This was ugly. There is no decent way to do that, objects are always calculated on the fly.
This is a hack, using type 22, which is composite midpoints, because midpoints is one of the types where objects are not calculated the normal way, their midpoints are calculated and stored in a special place for drawhoroscope to pick up.
So setting type to 22 causes drawhoroscope to get them this way too. You need to update for this.
Then command(25, n, &x, 0) actually sets object n to a value, in this case 10.5.
Note you must use the 'address of' operator &, because command() only can do integer values.
window(0, 0);
copyhoroscope(-1, 0);
real x = 10.5;
command(25, 6, &x, 0);
settype(0, 22);
drawhoroscope(0, 0, 0, 0, 0, 0, 0);
run;