投稿者 HiDE-Ada  (社会人) 投稿日時 2014/6/19 18:11:49
先の投稿に中途半端な回答を提示してしまって申し訳ないです。
問題が大きくなってしまい、すみません。

上のソースでログインできないのは、せっかく
 RESULT = Convert.ToString(CMD.ExecuteScalar())
としてユーザー名を取得しているのに
 Return BBB
としているためです。
それも、BBBには値が代入されていないので常にFalseだからです。
RESULTにはユーザ名(取得成功時)かNothing(失敗時)なので
 Return RESULT IsNot Nothing
で、ログインはできるかと思います。
取得したユーザ名が必要なはずなので、
 RESULT = Convert.ToString(CMD.ExecuteScalar())
 with UserInfo
  .ID = id
  .UserName = RESULT
 end with
としておきましょう。

またClass UserInfoは、UserInfo.vbとして一つのクラスファイルとして
定義した方がいいです。

また、FMBase_LoadでLogIn.showとしているということはスタートアップフォーム
がFMBaseだと思われますが、先の回答はFMLoginをスタートアップフォーム
とした場合でした。
もしどうしてもFMBaseをスタートアップフォームにしたいのであれば
        If CheckUser(TextBox1.Text.Trim, TextBox2.Text.Trim) Then
            Me.DialogResult = Windows.Forms.DialogResult.OK 'ShowDialogの戻り値 
            Me.Close
        Else

で十分です。当然
    Private Sub FMBase_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        me.hide   'FMBaseが表示されていてもよければ、必要なし 
        using Login As new FmLogin
          if Login.showdialog(Me) <> Windows.Forms.DialogResult.OK then
            me.close
          end if
        End using
        me.show 'me.hideしないなら、必要なし 
    End Sub

でログイン成功時以外は、終了させる必要があります。