The main difference between cards is not so much the interface but more the chipset and driver quality. If you do use a PCI card, make sure it doesn't have the same chipset as the USB one you have now or you might experience the same problem. Of course an external antenna does help as you can move it around to find the best signal.
What is the signal strength like on your existing USB adapter? If its pretty good why not try changing the channel of the AP to see if interference is causing the problem? Much cheaper than buying a new card!

If the signal is not very good I would almost garauntee the new card would fix that problem.
The D-Link DWL-AG530 is Atheros-based, this would be a good choice. You probably won't be able to use it at 108Mbps though as Linksys usually uses Broadcom chips and the two brands use substantially different methods for achieving their theoretical 108Mbps speed.