This was happening very long time ago so I don't think I can prove anything - the difference might have been between 5.0 and 4.1 or even 4.0, one was on a Unix hosting the other on Windows. Things have changed so for any practical purposes I think what you say is true nowadays.
They are not so inconvenient
MySQL will allow me to do this:
WHERE action_date BETWEEN '2012-02-01 00:00:00' AND '2012-02-31 23:59:59'
MySQL 5.6.4 seems to support microseconds - if I have the very unlikely need for them I might do this:
WHERE action_date BETWEEN '2012-01-01 00:00:00' AND '2012-01-31 23:59:59.999999'
But I'm giving you credit for better elegance of your way of comparing