You can easily get this functionality using jQuery:
This function adds a click event to the Calendar image that will only return true - and therefore do something - if the date field is enabled. You can see how this works on apex.oracle.com.
Why doesn't APEX handle this by itself? I really don't know. Maybe they'll copy this solution (or similar) in the next version....