Yo siempre creo la BD sin especificar 'character set' ni 'collate', simplemente así, y nunca he tenido problemas por la ñ ni los acentos:
Código SQL
[-]set sql dialect 3;
create database '192.168.1.100:/Proyectos/Conta/BasesDatos/Plantillas/cc-empresa-ejercicio.fdb'
user 'SYSDBA' password 'masterkey'
PAGE_SIZE 8192;
create domain domCodigoNoNulo integer not null;
create domain domCodigo integer;
create domain domConcepto varchar(96);
create domain domDescripcion varchar(256);
create domain domDigitos smallint;
create domain domFecha date;
create domain domHora time;
create domain domFechaHora timestamp;
create domain domImagen blob sub_type 0;
create domain domNombre varchar(128) character set ISO8859_1 collate ES_ES_CI_AI default ''; <<==========
create domain domNombre varchar(128) character set UTF8 collate ES_ES_CI_AI default ''; <<==========
create domain domObservaciones blob sub_type text;
create domain domSiNo smallint default 0 check (value between 0 and 1);
...
etc...