When a product price is 0 Zero payment method is skipped except for PayPal Express Checkout which is shown on the first step of checkout.
(http://www.protechsystems.us/stuff/joomla/vm/vm-paypalbutton-checkout.png)
PayPal Express Checkout button can be disabled in PayPal API configuration (you will only see PayPal Express Checkout option in payment method selection step).
At this stage of checkout, we cannot say for sure that the whole order will be zero (e.g. we don't know yet about shipping cost). So i cannot remove PayPal Express Checkout button based on current total.
So
True, I was testing download-able products, I didn't thought of Free but shippable product which shipping might have a cost.