When should be program block dynamic or static ? members of static program block , members of automatic program blocks?

In reply to dave_59:

In reply to sriram.seshagiri:
Perhaps you need to show the exact code that gives you unexpected results. My code on EDAPlayground shows the same results with and without the automatic keyword.

Hi Dave,

fork
automatic int j = i;
automatic longint eq_pa_r = eq_pa;
//hiarb_hifis_req(eq_pa_r,j);
hiarb_hifis_req(eq_pa,i);

This is the code above which gives me unexpected results without using this Automatic switch. If you see I have commented the function call which I was calling by passing in these Automatic variables. And (highlighted in Bold) is the func call without using Automatic variables for which I am seeing this unexpected results.

Is this a simulator specifics (VCS only) limitation then ? Since you are saying you did not hit this issue even without using Automatic.