The bluetooth stack in linux is quite a heavyweight, even for just receiving a file. D-bus, many daemons, even some Gnome parts IIRC.
Infrared was much simpler, you launched one app to listen for a file, pointed the phone at the machine, sent the file.
BTW: Android got rid of Bluez in the next version. So looks like we'll have two linux bluetooth stacks soon. One one hand I don't really trust Broadcom to do something of quality, but then, their goals in doing that were good (not counting the anti-GPL-ism). They wanted to get rid of many of the deps like d-bus.