Have you read "20.3.5 USB Transaction" in the Reference Manual where it mentions DMA_ERR, and lists two conditions that cause it to be set? You're getting BTO_ERR as well, so you've got the first condition.
The description of DMA_ERR says what to do.
Try changing the MPARK register settings. Do you have other DMA Controller activity? Is the Ethernet running? Both of them default to higher priority than USB.
Do you have RAMBAR[PRIU:PRIL;SPV] and (the other) RAMBAR[BDE] bits set properly?
MCF52254, so 64k SRAM and no mini-flexbus, so you can't be using external storage.
> I am collecting the data in the micro controller at 5 MHz
This is only an 80MHz CPU. That means you only have 16 clock cycles per sample ( 8 bit, 16 bit, 32 bit?) transferred. That includes reading the data, transferring to memory, transferring in and out of the CPU for processing, copying to the USB buffers and final USB DMA transfer. You may need to make your code more efficient and minimise the number of data copies. The highest efficiency would be to DMA the samples from the ADC (or whatever) directly into the USB data buffers for instance.
Tom