--- Quote Start ---
When you use ALTDDIO_OUT MegaFuntions for your data outputs, you are forcing the use of output registers. Making the assignment of Fast Output Registers does not affect this, nor will making that assignment infer an ALTDDIO_OUT. It will only infer a single register output. The ALTDDIO_OUTs must be instantiated.
--- Quote End ---
Depends:
In case of Cyclone:
ALTDDIO_OUT is done inside the logic fabric, but that doesn't matter as the clock has an equal delay in its path. (I have to check this for Cyclone IV where the ALTDDIO_OUT is done in the IO_cell?)
In case of Stratix :
ALTDDIO_OUT is done in the IO-cell, but again that doesn't matter as the clock out has equal delay.
If no ALTDDIO_OUT is used then the register in the IO-cell is generated when the FAST Output Register is set for this output. Of course you do not need to make the Fast Output Register assignment when using ALTDDIO_OUT.