No there shouldn't be any offset between the read and write addresses. Could you share your HDL code? I don't really get what you are saying here:
--- Quote Start ---
We've implemented this Avalon Memory Mapped Slave (google "avalon slave interface block" I'm not allowed to post links yet") into our NIOS block in Qsys with only 10 registers, due to 16 giving us naming convention errors, but have solved by editing the tcl file.
--- Quote End ---
What kind of naming convention errors, and what did you need to edit in the tcl file? Creating a component with 16 registers shouldn't be a problem.