How MUFF works
We're going back in time now for me but i'll try and remember.
It works by using a JSR-82 API to interface with the bluetooth stack. It first gets a handle on the "local device" and then tries to set it into discoverable mode for the server and discovery mode for the client. I have seen the bug you described before, but the program should now try to alert you if it can't put the bluetooth devices into those states. There could be a problem with JSR-82 implementation on the phones or (more likely) my code. But its very hard to tell.
This link shows you basically what the program does to discover bluetooth devices.
http://www.jsr82.com/jsr-82-sample-device-discovery/
Once a device has been found a client can then attempt to connect to the server by serial port (RFCOMM) thought Java. That is the basis of the project. MUFF would then manage the states depending on messages sent/recieved in sometimes quite a hacky way because of the problems i found in the API.
All the best,
Matthew

column indicates how many devices have been reported as compatible. Conversely the
column indicates how many devices have been reported as incompatible. 