Fair enough. Then I would start by designing the design - dont commit to a two step business objects -> design classes and we'll get it done by 2pm way of thinking. Consider the "new unwritten" requirements, in particular those concerning the decision to rewrite. What is the project really trying to achieve - a technology refresh, a .net pilot, something else? Split the business and project objectives and consider how best to achieve them. For example, technology refresh may (IMO) be best achieved through some significant initial effort in the architecture to develop deployment, component and interface models to some degree of detail, including the investigation of alternatives, walk these through against your objectives. Component models in particular can add real value in
1) revealing misconceptions, misunderstandings and unstated assumptions both betyond and within the design and develeopment teams.
2) creating a lucid understanding of who is responsible for what.
3) reducing the chance of duplicated programming effort (two programmers producing code with the same responsibilities.
Get a rudimentary use case model going, to be refined where necessary over the life of the project. It will save sqillions when it comes to testing.
(although I will never, never, never, never condone the agile approaches - ever.

) have a look at some of the Ambler stuff like
http://www.agilemodeling.com/artifacts/to get a glimpse of how the uml models address particular matters ad how it is not necessary to design completely vertically from the outset.
hth
bruce