In addition to the advices above, also make sure that the calling convention (defined in compiler/mips/cpupara.pas) doesn't use FPU registers to pass parameters or function return values when the softfpu is selected.
For a working example, look at:
compiler/avr/cpupara.pas