No solutions at hand, sorry, and not enough time to try to help at the moment.
I can only suggest
a) searching File Exchange and see if anybody else has had the same desire and already solved it or
b) to solve the zoom problem you'd have to write callback functions to do what you're doing now at each zoom operation.
The messy tick labels are also a pita that's been a continual pet peeve of mine that TMW didn't allow the TeX interpreter in the 'ticklabel' so you have to use text to write them formatted when faced with the problem of log axes with other than the standard decade ranges. There've been a coupld of postings on the subject with the last month or so that illustrates how to solve that minor portion of the problem.
ADDENDUM
While it probably(*) won't solve your immediate problem, I strongly suggest submitting this problem to TMW official support at www.mathworks.com for inclusion in the enhancements-needed database.
(*) It's always possible one of their handle graphics gurus just might take pity and provide workaround code if you have current support.