ok, I changed the Function definition to:
short _stdcall SetYPosition(long NumCards, long crdNum, int crdHeight, int arHeight, int arY)
//it was:
//short _stdcall SetYPosition(int arY, long NumCards, long crdNum, int crdHeight, int arHeight)
now its returning the value of crdHeight every time!