In my opinion you should not change the code that works. Doing so can cause new bugs and wasting your development time for something that already there. You also need to make a regression testing so 

Instead, why don't you implement your new framework for new modules only? By doing this way, at least you can make sure that all your new codes are reusable and neat. 

On the code duplication, I believe you should implement something called **Code Duplication Detection Tools**. In java we have something called **CPD**(which is part of **PMD**) [[link]][1]. By doing this, you will be able to know which part of code are duplicated and able to make priority to refactor based on number of duplication. Just start refactor these duplication on your spare time and put them in some utility class so it's easier to be accessed from your old and new framework.

Try to find the .net version of CPD-PMD.

Note there is **"Rule of Three"** which states that 

> you are allowed to copy and paste the code once, but that when the
> same code is replicated three times, it should be extracted into a new
> procedure.

 The rule was introduced by Martin Fowler.
 http://en.wikipedia.org/wiki/Rule_of_three_(programming)


  [1]: http://pmd.sourceforge.net/cpd.html