I made some Arduino shields for nRF24L01+ modules and I have interesting problem:
If I have modules directly connected to the shield (pinhead on module to socket on shield) , there is high packet loss (about 20-30%) when sending data to another nRF module. But, if I touch the module antenna by my hand OR modules are connected to this shield by wires (cca 10cm), all works ok.
On Ebay, you will also find many boards with normal antennas.
Some people complain that those modules can only do about 30cm. Some boards have additions like LNA and claim they can reach 1000m. That pcb antanna could be good, if it was very carefully designed. But it seems that is not the case.
So what you have makes perfectly sense. If you want to do it right, buy a board with a normal antenna.