Having looked at the package, your problem is actually that your udev rules are being run in the wrong place.
In order to be able to access the /proc/bus/usb/XXX/YYY device node, you need to run your program as a result of the usb_device subsystem, not the usb subsystem:
Having looked at the package, your problem is actually that your udev rules are being run in the wrong place.
In order to be able to access the /proc/bus/ usb/XXX/ YYY device node, you need to run your program as a result of the usb_device subsystem, not the usb subsystem:
For edgy this would look like:
ACTION=="add", SUBSYSTEM= ="usb_device" , SYSFS{idVendor} =="0763" , SYSFS{idProduct }=="1001" , RUN+="@fxload@ -s @firmwaredir@ /MidiSportLoade r.ihx -I @firmwaredir@ /MidiSport2x2. ihx"
And for feisty:
ACTION=="add", SUBSYSTEM= ="usb_device" , ATTR{idVendor} =="0763" , ATTR{idProduct} =="1001" , RUN+="@fxload@ -s @firmwaredir@ /MidiSportLoade r.ihx -I @firmwaredir@ /MidiSport2x2. ihx"