Without knowing more detail about your problem there are a few issues that can be discussed:
Three tier architectures are a good idea because they tend to easily separate the concerns of the classes that make them up into more flexible and easy-to-understand categories:
1) data/persistence 2) business logic 3) presentation/GUI
Following this basic pattern does make sense with any software project where data collection and retrieval (vast majority of biz apps) is involved. There are dozens of other reasons as well and too numerous to list here.
Now, being able to arrive at the three tier architecture by refactoring an existing base of code depends greatly on how that code was developed. And that brings up the age-old software development question of: do we refactor or start from scratch? It all depends on the code... and the people writing the "new" code.
i would suggest that if your programmers have a good knowledge of the domain and of what they are trying to accomplish (or a stellar technical spec) then a rewrite could be useful even if refactoring seems like a possibility. Conversely, if those same programmers do not have expert knowledge in the problem domain or there's no spec then perhaps it would be worth while to try and refactor the existing logic into the three tiers and thereby preserving the biz logic that was originally established.
In short, many a book have been written on the dilemma you face. But there are two programming rules of thumb that i covered here and that will show up in any software development manual:
- structure is good e.g. three tier
architecture, MVC, patterns
- refactoring is good - leads to
cleaner, more maintainable,
performant, understandable code
Good luck!