I have a currency field that is calculated as a division of an integer field by an integer constant 100. When shown in the screen (GetRows) the amounts are shown with zeros in the decimals places. When a row is selected (MasterRecord) the decimals are shown correctly.
It was concluded that this is an edge case. The underlying problem is difficult to fix and it is a result of design decisions by Microsoft (in the DataSet class).
The function call documentation was updated to help anyone who encounters this issue.
@tvavrda please confirm that the solution is adequate.