This is the safe version of the conversion function execute_Convert2Double().
This function ALWAYS create a new variable and does NOT convert a long to double in place. This function is called by the extensions, because extensions tend to be more laisy regarding conversion and many converts arguments in place and thus introduce side effect.
To solve this problem we have introduced this function and have set the support table to point to this function.
pFixSizeMemoryObject execute_Convert2DoubleS(pExecuteObject pEo,