I've partly answered my own question. For every data buffer that I'm using, I do the following, and it seems to be working.
uint_8 buffer_data[BUFFERSIZE +4];
uint_8_ptr buffer = (uint_8_ptr)(((uint_32)buffer_data + 4) & ~0x3);
Is there a better way to data align in functions, without calling out static buffers that are aligned via the lcf file?