¿Entonces $datos es un arreglo asociativo o un arreglo de arreglos?
Porque tu método MostrarDatos() devuelve precisamente un arreglo de arreglos, por lo tanto: $datos['Nombre'] es imposible que exista ahí.
Sin embargo, al ser un arreglo de arreglos es probable que necesites acceder a $datos[0]['Nombre'] para el primer registro, etc.
Sería bueno que muestres la estructura de print_r($datos), de otra forma es imposible adivinar.