Se o que você quer é encontrar um (ou vários!) registros onde dia, mês E ano sejam iguais aos valores obtidos do Calendar, então deve usar o operador AND.
select * from assinantes where assinantes.dia = nDiaAtual AND assinantes.mes = nMesAtual AND assinantes.dia = nAnoAtual;
Se usar OR,
todos registros que tenham o mesmo dia (14/04/04, 14/01/99 …) +
todos registros que tenham o mesmo mÊs (01/09/1980, 30/09/04 …) +
todos registros que tenham o mesmo ano (01/01/04 + outros 365!)
serão selecionados. Serão um “monte” de datas possíveis sem nenhuma relação direta enttre elas …
Por outro lado, acho um tanto estranho esta estrutura de tabela com campos para dia, mês e ano. Normalmente se usa uma coluna só com tipo de dados Date. Como você mesmo postou aí em cima, é muito fácil obtermos dia, mês e ano de uma data. Já juntar os três, viu o trabalho que dá? :o)