Ah... I think I know what was happening. Changing from a control register value of 0x2FC to 0x28C turned off the following control register bits:
reen
ween
ien
only the last one, ien (IRQ enable), matters. When your DMA transaction completed, the DMA fired off an interrupt, which was handled by the ISR which the DMA HAL driver init routine installed. That ISR was probably getting in the way of proper function. This all assumes that you aren't using a "freestanding" app (in which you override the initialization code in alt_sys_init.c). Is that true?
The message to take away from all this is, if you want to configure a DMA device with direct register writes (or, presumably, other HAL-driver-equipped component), you should either
1) use a freestanding app, so that HAL driver init for your component can be avoided
2) disable IRQ-generation in your component
3) install your own ISR for your component.