Io non penso sia stato "fanservice" o "contentino per i fan della coppia".
Conan non vuole fare sapere i suoi sentimenti a Ran perché altrimenti "lei vorrebbe vedelo sempre più spesso, fino a quando, stanca delle sue saltuarie apparizioni, l'avrebbe cercato di persona, e se così facendo avesse scoperto il segreto di Conan, cosa probabile visto che c'è andata vicina diverse volte, l'Organizzazione lo saprebbe e sarebbe la fine per tutti" (testuali parole di Ai a Conan).
Ma ormai questo pericolo non c'era più: infatti, a un certo punto Conan diede a Ran il proprio numero (Conan ha due telefoni, uno per sé e uno che usa "da Shinichi"... e Conan le ha dato il numero di questo), in modo che possa sempre chiamarlo quando vuole lei. Tutto ciò, se non sbaglio, accade dopo il file di San Valentino, al culmine di un arco narrativo in cui i sospetti di Ran sulla vera identità di Conan erano aumentati a dismisura notando come Conan risolvesse un caso esattamente come Shinichi: quindi è logico che,
quando ne ha avuto l'opportunità e la necessità (perché nonostante tutto sarebbe stato quasi "inutile" dichiararsi senza motivo apparentemente logico o compellente), non ha avuto più il freno della frase di Ai, secondo cui Ran vorrebbe vederlo sempre più spesso ecc.: perché dal momento che adesso ha il numero di telefono, ogniqualvolta sente la sua mancanza può sempre chiamarlo e comunicare con lui, mentre invece prima doveva necessariamente aspettare che lui la chiamasse, e specie dopo una dichiarazione, avrebbe davvero cominciato a cercarlo sul serio... con le terribili conseguenze già descritte.
Quindi... non è affatto out of character: senza considerare, dopotutto, che la dichiarazione sarebbe dovuta arrivare comunque, prima o poi... in fondo si tratta di un manga shonen, non shojo, perciò non possono esserci repentini ed immotivati cambi di fronte, specie se questo è principalmente un giallo, in cui l'amore ha un ruolo secondario... quindi è logico che la coppia "predestinata" era quella presentata all'inizio del manga, ovvero RanxShinichi