To put
.rm REFERENCES
at the begin of z.1 is not recommended since it only removes the string
"REFERENCES" but there is some additional space caused by the macro using that
string.
But
.rm ref*biblio-start-hook
does work for me with your example.
$ cat z.1
.rm ref*biblio-start-hook
.NH 1
Some references
.so j.ref
.so c.ref
.so b.ref
$ cat make.sh
#!/bin/sh
refer b.1 > b.ref && refer c.1 > c.ref && refer j.1 > j.ref
soelim z.1 > z.full
groff -ms -Tascii z.full -P-c|less
Is it possible that you did not run soelim after modifying z.1? Else I have no
idea why it does not work for you.
Nethertheless ".rm ref*biblio-start-hook" is a crude kludge, it uses
undocumented non-portable implementation details which may change in future
versions. If this is not acceptable for your document more investigation is
required.