Si no me equivoco la funcion wire.send termina con una condicion de STOP por lo que el master solo lee el primer dato
tu programa hace esto
start -- dir slv -- slv response -- stop start -- dir slv -- slv response -- stop start -- dir slv -- slv response -- stop start -- dir slv -- slv response -- stop
si el master no crea el start no podrá leer los demás datos
lo que quieres es start -- dir slv -- slv response -- slv response --slv response --slv response -- stop
tienes la solucion en
http://arduino.cc/en/Tutorial/MasterReader