I have a pretty cheap and old sigma-tel IR that worked fine. And I too had to have it right next to the SOL. I blame the SOL for this as my old PDA hits it from across the room.
Have you checked the settings for the IR in control panel? If Win7, then in Control Panel select Infrared. Make sure all boxes are checked under "Infrared". Then under "Image Transfer" - again both boxes checked. Now to hardware-make sure the proper device is listed, in my case Sigma Tel USB IrDA Dongle. If yours is listed incorrectly or generic, look for some drivers for you IR device. Select properties from the hardware page, then "Change Settings" on the properties page. Under "Advanced" - look for the value to be the correct device you have - you can experiment here to see if you can get a better result with a similar device. Select "Speed Enable" from the "Property" box, try selecting a slower speed such as 57600. That may help if their are communication errors - slower usually equals more reliable.