Sorry that is for foxpro. Here's another solution in VB, hope this one can help.
I had thought that the answer would be shrouded in obscurity and mystery, and require the use of either the registry or the initialization file functions in the Win32 API, along with some spying tools to see from where Windows was retrieving its regional settings. As it turns out, though, that's really unnecessary; as Visual Basic programmers, we just don't pay much attention to regional settings because Visual Basic -- for better or for worse -- handles them for us, and so their operation is somewhat mysterious to us.
Public Const LOCALE_SSHORTDATE = &H1F
Public Declare Function GetSystemDefaultLCID _
Lib "kernel32" () As Long
Public Declare Function SetLocaleInfo Lib _
"kernel32" Alias "SetLocaleInfoA" ( _
ByVal Locale As Long, _
ByVal LCType As Long, _
ByVal lpLCData As String) As Boolean
/*
'Note that you want to use the ByVal keyword 'in passing lpLCData to the function, since you want to pass a pointer to a null-terminated C string; if you pass the argument by reference, you end up passing a pointer to a Visual Basic string, which will have rather unfortunate consequences.
Once you've figured out which Win32 API functions to call, changing the setting is simplicity itself:
*/
Private Sub Main()
Dim lngLocale As Long
lngLocale = GetSystemDefaultLCID()
If SetLocaleInfo(lngLocale, _
LOCALE_SSHORTDATE, _
"MM/dd/yyyy"

= _
False Then
' Handle error, possibly by writing it
' to a server error log
End If
End Sub
But in fact, a single Win32 function, SetLocaleInfo, can be used to set a wide range of regional settings. On success, the function returns a non-zero value; otherwise, it returns zero (or False).