Come faccio a non perdere sui motori tutte le url attuali che finiscono in .htm nel momento in cui passo a .asp?Un sistema c'è, ma devi avere il controllo del server e credo un server dedicato per il sito. Puoi impostare IIS per fare preprocessare dal processore ASP le pagine con qualsiasi estensione, anche HTML, ma non so se il settaggio è globale per tutto il server o puoi applicarlo ad un solo dominio/server virtuale.
Come faccio a passare tutto in asp?Strutturando bene il database ed il cms se i nomi dei file rimangono gli stessi ( puoi usare variabili o variabili di sessione invece delle querystring per passare i parametri ) i motori continueranno a passare lisci come l'olio. Certo replicare la struttura è un lavorone, ma se ben progettato è possibile.