Can I get more information about why using program block is not recommended ?
Because from “testbench.in” I came to know that program block works in reactive region and thus overcomes the race condition. But module block works in active region and does not overcomes the race condition.
Did you read this link? You would not have made that statement about race conditions if you had.