An update to my previous reply:
I've now tested the communication between Live and the BCF in detail,
by inserting a MIDI monitoring program between Live and the BCF, via
MIDI Yoke. (Actually the monitoring program I used was BC Manager,
employing two MIDI thrus; but you could also use MIDI-OX.)
Thus I've discovered that I was basically right in my previous
hypothesis that the main problem lies with Live rather than the BCF,
but it's a bit more complicated than I thought:
What typically happens when you try to control a looped clip in Live
from the BCF (in standard mode) is this (assuming the button uses MIDI
channel 1 and controller 1):
When you press the BCF button to start the clip, the button's LED goes
on and the BCF sends the MIDI message $B0 $01 $7F. This is a Control
Change message on MIDI channel 1 (cf. $B0) for controller 1 (cf. $01)
with value 127 (cf. $7F).
Upon reception of this message, Live immediately sends back $B0 $01
$7E(=126) to the BCF. I don't quite understand this, but probably this
is a Live-specific code meaning "preparing" or something.
A fraction of a second later, when the clip actually starts playing,
Live sends $B0 $01 $7F back to the BCF.
After that, whenever any subsequent (second, third etc.) loop starts,
Live sends $B0 $01 $01(=1). This is yet another Live-specific code,
probably indicating the start of the new loop.
In any case, unfortunately the BCF's "rounding off" policy (quite
sensible in itself) is to divide the defined button range (min=0;
max=127) into two subranges: any value below 64 is interpreted as
"off". Therefore, upon reception of the value "1" here, the LED goes
off. So this is the cause of your problem.
And when the loop is finally stopped (either via the BCF or the
mouse), Live sends $B0 $01 $7E (so another "code"!) and $B0 $01 $00.
As far as I know, it's impossible to change the BCF's "rounding off"
policy. It IS possible to set a different range (min and max), but I
haven't been able to think of a way that makes Live and the BCF
understand each other. I don't know MIDI-OX well enough: maybe you
could make it "swallow" the strange $01 and $7E values that Live
sends. It might also be possible to tweak Live, but I haven't found it
yet.
Mark.