nRF24l01, Arduino and Pi - delay

I don't see anything obviously wrong in your code, but you don't call setPALevel(), and I wouldn't expect to need to call powerUp() to get reliable transmission.

I suggest you start with the examples that come with the RF24 library and get them working reliably to confirm you have the hardware set up correctly.

One feature I've noticed in the RF24 library is that write() will often report failure when it actually succeeded - one of the other forum members pointed out that the library clears the receive buffer after the transmit instead of before, which might account for that - so check what you're actually receiving and don't take the return value from write() at face value.