Bueno, primero un tirón de orejas (jajaja), por no leer las respuestas a tus preguntas
La propiedad RecordCount de VB6 es equivalente a ésta en ADO.NET (tomándola del DataSet una vez cargado con Fill):
ds.Tables(0).Rows.Count
y para cerrar un Adapter para posteriormente volverlo a abrir, la instrucción equivalente a Recordset.Close de VB6, sería:
adapter.Dispose()
En cuanto al resto, no hay ningún secreto: Un poco de conocimiento, estudiar, practicar y
divertirse todo lo posible.
Saludos