Are we really comparing 2 tier to three tier here? ( With the web effectively 3 tier by default ).
That old VB code that queried the database directly wouldn't work well over a non-local network.
ie there is a bit of apples and oranges comparison here.