Not CW guru, but I think that first of all you should make sure you are using small memory model, -Ms compiler switch, also small memory model libraries.
Then you should simply define single ROM segment
ROM = READ_ONLY 0x4000 TO 0xFEFF;
and change placement from
DEFAULT_ROM, NON_BANKED, /* runtime routines which must not be banked */
COPY /* copy down information: how to initialize variables */
/* in case you want to use ROM_4000 here as well, make sure
that all files (incl. library files) are compiled with the
option: -OnB=b */
INTO ROM_C000/*, ROM_4000*/;
OTHER_ROM INTO PAGE_3C, PAGE_3D ;
to
DEFAULT_ROM, NON_BANKED,
COPY, OTHER_ROM
INTO ROM;