IMHO, unless we see the statistics and analyze them manually we may not be able to do it through script.. But the options that could be tried are
* Select stats_date() for each table and statstics if it returns null then stats for that are never updated.
* if Rowmodctr > 0 then stats may not be updated. Every time stats kick in it changes rowmodctr = 0. So, in script if we can see difference between rowcnt - rowmodctr then that delta of rows are added after last statistics update.
But in SQL Server 2005 as far as I understand it is no more row modifications that are counted but column modifications so not sure if this logic works there or not.
As regards to disabling auto stats I dont think that it may be a good option(as far as my experience goes).
In SQL2k5 we have all the more reasons to turn it on
* Statement level remcompilation vs Batch Level compilation in SQL server 2000
* Asynchronous stats updates vs Synchronous stats update.
But there should be a script that update stats at regular intervals Reindexing does not update statistics create due to auto create statistics. Also update statistics are only kicked in due to some thresholds like % of rows modified which in large tables would be very infrequent(if there is not job to reindex). So stats should be updated at regular intervals.