Saludos, para la primera pregunta lo unico que te puedo decir es que puedes utilizar los dos tipos de bloqueo que te permite access o sql, el bloque pesimista que es el mas drastico ya que te bloque toda la tabla, o el bloqueo optimista, este solo te bloquea la pagina actual, en esta puede haber uno o varios registros tambien, pero esto no es todo tienes que implementar procesos para capturar los errores producidos por las violaciones a dichos prosesos de bloqueo y la accion a tomar por parte del usuario o del mismo programa. Vas a tener que leer en la ayuda de estos bloqueos.
2. Para detectar una impresora en dos la verdad no lo se, ya que Visual basic no intersepta este error y lo que hace es congelar el proceso hasta que enciendas la impresora, a diferencia de las impresoras en windows que si lo hace.
3: Para imprimir en una impresora de dos tienes que abrir la impresora como que de un archivo se tratara, osea:
Open "Lpt1:" for output as #1
luego con las introcciones Print vas enviando informacion a la misma y esta responde imprimiendotelo en la misma. Esto es informacion resumida tienes que consultar la ayuda para mejorar la tecnica.
Espero haber ayudado en algo.