If you request data from the blackboard that is not available you are not raising an error at the moment:
>> bbs.run()
>> bbs.blackboard.getData('foo')
ans =
[]
It could be that this will not result in any error at all, but that at the end of your calculation you simply get an NaN. As this can be very hard for a user to debug I would suggest to add an error message if data is requested that is not available.