Hi ED,
I tried reproducing this and it seems the unit delay block does indeed produce a 'double' data type signal when used with an external reset. This might be happening due to the initial condition (0.0) being of a ‘double’ datatype in case of the block with external reset. In case where no reset is being used it must be using the definition with the initial value (0) as ‘single’ datatype. The initial conditions change the datatypes for the next iterations. (Note: 0.0 & 0 are just the mentioned values in the parameter dialogue fields and does not represent the datatype of the values)
To get the signal as a 'single' datatype while using an external reset consider using a 'single' datatype value as an initial condition. To do so, directly enter a 'single' datatype value in the initial condition field in the ‘Delay One Step’ block parameters dialogue. Or change the initial condition source from ‘Input’ to ‘Input port’ then attach a 'single' datatype constant to it.
Attaching the resultant image with the implementation.
Hope this helps!