Redesign required for new capabilities


The 10 year old design of this program has about reached it's useful life. The desire to add new capabilities necessitates redesign of the database and other architecture elements.
The items I want to add include:
  • Support for unlimited runs
  • Support for multi-day events
  • Network support
    • Registration clients
    • Competitor clients so they can check their own standings
    • Announcer client
  • Realtime upload of results using cellular modems or WiFi.
  • Better handling of multiple cars on course
The first tasks in this redesign are deciding on the desired user interface and the database design.
A big question is the development language. Stick with VB or possibly move to C#?