I'd look at power issues in this case. Software issues, things like excessive heap fragmentation, signed integers getting too big. etc. etc. are unlikely if it all worked before.I guess you are running the eByte E01-ML01SP4 (wireless not wifi ?) at 3 volts. Interesting would be to know where its power is derived. If it is the FTDI chip (as in the original Nano design) that is a likely problem. If you have based the design on a Nano together with a wireless module (NEF24L01 based) I guess there is nothing so special about your (hardware) design which would prevent you publishing it here.
I'd have expected to see more dedicated decoupling capacitors around the voltage regulators. I can't say that is the problem but it will always be issue in troubleshooting if it is not done correctly. See the data sheets for example decoupling circuits.The NRF24L01 (on which your wireless device "eByte E01-ML01SP4 Wifi board" appears to be based) has 5 volt tolerant pins, although the maximum power voltage is 3.6 volts.The problem with the ATmega328P running at your suggested 3.3 volts is that it is then "overclocked" if you still run it at 16 MHz. If you change the crystal (or is it a resonator ?) to 8MHz to stay in specification, then you need to install a 8MHz version of the bootloader. There are, though, other tricks that you can do like dynamically lowering the clock speed to get round this.If commenting out what appears to be the radio's failure handling routine allows the whole thing to work, then it could be that this part was not well tested and problems only show up in certain radio failure error cases. Maybe you have to add some debug statements to find out what error is being detected / badly handled.