The Year 2000 problem goes back about twenty or thirty years, the programming languages most effected by the Year 2000 problem are older languages such as COBOL. In fact, COBOL accounts for most of the world's business applications.
Because the Year 2000 problem is so easily perceptible with COBOL and because Visual Basic is such a new language, many people think that any system written using the Visual Basic programming language is protected from the Year 2000 problem, which is false.
Visual Basic 4.0 includes various date handling functions and procedures that are native to the language, in most cases these functions are totally unaware of the Year 2000. In fact, because of too much confidence in the language, applications using Visual Basic are probably more likely to cause problems than many other languages.
Microsoft has taken steps to correct these problems by introducing fixes to these date functions in each of the major new releases. Visual Basic version 4.0 goes a long way towards fixing the date problems and most date functions recognize the Year 2000, however, Visual Basic 4.0 will always assume the current century when entering dates so processing short dates across two centuries will not work.
Visual Basic 5.0 goes even further by introducing an industry accepted technique known as windowing. This makes assumptions about the intended century of a two-digit year. However, this solution is also flawed because the window is a fixed window, which only interprets dates up until 2030. So if the date is 01/01/32, Visual Basic 5.0 (and Visual Basic 4.0) will assume that the intended year is 1932.
Right now the main task is to serve the businesses that are looking at systems already built with Visual Basic and for the most part, those existing systems which have been built using Visual Basic 3.0.