The problem is with the 'this' argument that was passed as argument 0 in the call.
The function is
/** Sets the destination of the ball. */
method void setDestination(int destx, int desty) {
The call code should have pushed the Ball object, then destx, then desty. Look at the arguments the VM Emulator is showing: 4888 looks like a good address for an object and 551, 250 looks like a good screen coordinate.
It looks like your compiler pushed the object address as the last parameter instead of the first.
--Mark