part of the answer was with me forcing the FTP to try and make all directories of the path even if they already existed, i addad a simple check function as follows
Public Function DoesDirExist(ByVal Game As String, ByVal Path As String, ByVal User As String)
Try
Dim WebClient As New WebClient()
Dim DirStatus As String = WebClient.DownloadString("http://server.net/GameSync/" + User + "/Profiles/" + Game + "/GameData/" + Path)
Return True
Catch err As Exception
Return False
End Try
End Function
and also put a quick if/then into the first lines of makedir() right after the null check
If DoesDirExist(Game, Path, User) = True Then
Exit Sub
End If
so ths helps avoid some pointless loops, but not the increase in speed that i really need here...