Kyle,
According to your suggestion, in the originally attached mrgsolve R code, I changed dosing in dataset in study template (i.e., a bolus dose to central cmt now),
ids <- expand.grid(ID = 1, time = c(0, 24), cmt = 2, evid = 1, amt = 100)
The simulation output is shown below, it is true that prediction at dosing records are different between two different ways of declaring C1; It appears that declaring C1 in $ODE and re-calculate it in $TABLE gives correct simulation (object out1) at times corresponding to dosing records. A quick check for simulation of C1 at dosing record when time=0 show it is equivalent to Dose/V (100/35 = 2.857143), which theoretically makes sense. The simulation of C1 at dosing record when time=24 also makes more sense in out1 too.
> out1
ID time GUT CENT C1 DV
1 1 0 0 0.00000 0.000000 0.000000
2 1 0 0 100.00000 2.857143 4.158951
3 1 10 0 75.14773 2.147078 2.889503
4 1 20 0 56.47181 1.613480 2.503705
5 1 24 0 150.37303 4.296372 3.650814
6 1 30 0 126.68333 3.619524 1.038852
> out2
ID time GUT CENT C1 DV
1 1 0 0 0.00000 0.000000 0.0000000
2 1 0 0 100.00000 0.000000 0.0000000
3 1 10 0 75.14773 2.147078 0.2170612
4 1 20 0 56.47181 1.613480 0.7322628
5 1 24 0 150.37303 1.439229 0.2732310
6 1 30 0 126.68333 3.619524 0.8502925
Thanks for making this question clear.
Yaming