I think a rebuild could be a sensible option here. We don't know what status your old SBS2003 is in and whether it can be fixed. Even if it can it may take you a long time to look for solutions. Sometimes fixing issues is like putting wall paper on the cracks - it hasn't solved it but only cover it. So when you do another migration, more problems may appear and its just an endless loop to dig for solutions. 20 users are not too painful when coming to rebuild anyway.
As I said SBS2008 Premium comes with an additional 2008 Server licence - so, if budget allows, you can go and purchase a decent server and use that newly purchased one as SBS2008, leaving the SQL on the other server.