Testing on a 2.0 Playbook, I saw both of my callbacks (success and error) called when a picture was successfully taken and returned to my app.
The problem appears to be here:
The second parameter to WebWorks takePicture() is defined to be "onCameraClosed". It appears that onCameraClosed is called after the onCaptured (the first parameter) callback is called.
I was able to achieve the documented behaviour for camera.getPicture() by modifying the above code to the following:
I would expect that this issue also affects the use of the takePicture method as used in the Media APIs.
I tested with PhoneGap v1.4.0. The code example from above is from v1.7.0rc1 which is implemented virtually the same as v1.4.0.