I noticed today that DateTimeStart() can give multiple values if the AMP engine is on

I've got workflows which use the datetimestart() function all based on the assumption that it will only return 1 value (as the documentation implies: )

When AMP is off then I get the expected 1 value.
Is this expected behaviour? And is there a better way of dealing with it than creating a single datetimestart() at the very beginning of the workflow and appending that where needed? Even with this approach, can we trust that it will return the correct value?
Cheers,
Ollie