Yup -- I stumbled upon this issue a while ago -- SHOW TABLE STATUS only works for MyISAM, and even then, only on Linux. Crazy.
Right now, since I'm using a DB wrapper anyway, I just automatically update a system table (with one record per table) whenever my app issues any update/insert/delete statements.
Triggers is a technically a better way to handle this, but because you have to have 3 on each table, I just find it really annoying to maintain.