The easiest way to bring your "application into the modern era" is to simply upgrade the code from Visual Studio 2003 to 2005 or 2008. If you're looking to add behavior to your classes ("what could have been business objects") the fact that the DataSet, DataTable, and DataRow are implemented as partial classes get you that.
The solutions mentioned above lose a lot of things for you, including the change tracking, unless that's what you're looking for--to deviate in a large way. LINQ to SQL, Entity Framework, etc, all provide for change tracking, but within the Unit of Work mechanism for the connection to the db, rather than placing the Unit of Work tracking directly on your objects, as with the DataRow.
Hopefully you're not simply changing to bring your "application in to the modern era" and that you have some benefits you're trying to get for the functionality you're giving up and the effort you're spending?
By the way, this is all assuming you are using Typed DataSets... untyped DataSet objects are sort of silly, in my opinion, for most uses.