Hello Jennie,
Enclosed is my program, you can download it to your S12ZVML128 EVB directly, but pls do not forget to remove all of connections on you EVB.
Actually I had never success to read correct values from S12ZVML128 via FreeMASTER + Multilink (FX), everytime the read values changes between 0 and correct value.
I found same problem when I use CodeWarrior to read values via Multilink FX, but finally I think I found the root cause that below option was selected.

The bus clock of S12ZVML was set to 50MHz--twice times of max. frequency of Multilink FX. Finally the correct values was read once I cancle the option.
It might be the root cause, I want try to modify the BDM speed setting in FreeMASTER, but I found nothing so that I can
not solve this problem.
This problem puzzled me long time, in the past I read values via RS232 from EVB, but now I have to migrate the SW into prodcut HW, this is not RS232 access designed, so BDM seems the only choice to debug SW on uC.
Looking forward you feedback!
Thanks!
Yours,
Hengpeng