did some further investigation myself, found that some $_POST variables were not carrying values correctly.
seems that the accountId and paymentKey $_POST variables are unset when it gets to the before_process function in dwolla.php. just to be clear i have a checkout flow like
checkout_shipping -> checkout_payment -> checkout_confirmation -> pay on other site, e.g. PP or dwolla
and then it brings me back to the checkout_payment screen and complains about the account number being invalid.