@WhiteHare, I'm using moteino and other similar nodes with the RFM69HW due to their power consumption and range characteristics, I just want to add the ESP8266 (that I'm using in other projects), as gateway, as you said.
@JoeLucid and @WhiteHare, let me thank you again by your support, the mystery is solved. In order to figure out what was going on I replaced again the ESP by an Atmega, and started having intermittent results also with the ATMEGA, so it was easier to figure out that the problem was a bad contact, on the MOSI connection to the RFM69 module. Solving that (almost all) the problem were solved. I started using the latest RFM69 lib, just with this small change in the .h file in order to introduce Joe change for the ESP:
// INT0 on AVRs should be connected to RFM69's DIO0 (ex on ATmega328 it's D2, on ATmega644/1284 it's D2)
#if defined(__AVR_ATmega168__) || defined(__AVR_ATmega328P__) || defined(__AVR_ATmega88) || defined(__AVR_ATmega8__) || defined(__AVR_ATmega88__)
#define RF69_IRQ_PIN 2
#define RF69_IRQ_NUM 0
#elif defined(__AVR_ATmega644P__) || defined(__AVR_ATmega1284P__)
#define RF69_IRQ_PIN 2
#define RF69_IRQ_NUM 2
#elif defined(__AVR_ATmega32U4__)
#define RF69_IRQ_PIN 3
#define RF69_IRQ_NUM 0
#elif defined(__arm__)//Use pin 10 or any pin you want
#define RF69_IRQ_PIN 10
#define RF69_IRQ_NUM 10
#elif defined(ESP8266)
#define RF69_IRQ_PIN D2
#define RF69_IRQ_NUM D2
#else
#define RF69_IRQ_PIN 2
#define RF69_IRQ_NUM 0
#endif
But even then I had intermittent problems that disappear if I put my hand around the cables between the ESP and the RFM modules (I was using long dupont cables, about 15cm long). It seems that the problem is EMC, since they are long cables and SPI is running at some speed, and also there is some RF around from ESP and RFM modules. I was only able to solve this second issue in two ways, shielding the cables, or slowing down the SPI, so now I am using the SPI with the clock divided by 8 instead of divided by 4, replaced
SPI.setClockDivider(SPI_CLOCK_DIV4)
by
SPI.setClockDivider(SPI_CLOCK_DIV8)
So now it is running, once again thanks for your help!
Best regards
Fernando