For security issues I connot post my project but I have good news. I figured out what the problem was so I'm going to post the solution here for those that still use DAO. I really thank everyone for trying to help me even though I'm way behind with my DAO.

The initial problem was not my RS = DB.OpenRecordset even though VB pointed the error there. NO, the error was on the DB = WS.OpenDatabase.

I removed Public WS As dao.WorkSpace and replaced it with Public EN as dao.DBEngine.

Now My code looks like this when I open my database.

Code:
Public sub OpenDatabase(ByVal DBPath As String)
  EN = New dao.DBEngine
  DB = EN.OpenDatabase(DBPath)
End Sub
Now I can Use RS = DB.OpenRecordset any time without creating a new instance of whatever. Here is the sample code:

Code:
Public Sub SearchDatabase(ByVal sSearch As String)
  ...
  sSQL = "SELECT * FROM {TableName} WHERE {FieldName} LIKE '*{Value}*'"
  RS = DB.OpenRecordset(sSQL)
  Do While Not RS.EOF
    LstResults.Items.Add(RS.Fields("{FieldName}").Value)
    RS.MoveNext()
  Loop
  ...
End Sub
Again thanks for your time and support. I love CodeGuru and those that help me out. I hope this will help others out if needed. And for my further programs, I'll work with ADO since it seems that not many people like it anymore and almost no support is given.

Again thanks a lot!