You are correct that it is checked automatically on 'certain' errors. But see 'man tune2fs', the partitions are also checked on regular intervals, based on time between checks or number of mounts
This is the contents of the journal of a ext3 partition, my /boot, via 'dumpe2fs'
dumpe2fs 1.40.2 (12-Jul-2007)
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem UUID: d28a7b79-6f63-4081-b578-7824efd2e37c
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: filetype sparse_super
Default mount options: (none)
Filesystem state: not clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 26104
Block count: 104388
Reserved block count: 5219
Free blocks: 81559
Free inodes: 26049
First block: 1
Block size: 1024
Fragment size: 1024
Blocks per group: 8192
Fragments per group: 8192
Inodes per group: 2008
Inode blocks per group: 251
Filesystem created: Fri Mar 9 17:01:38 2007
Last mount time: Sun Oct 7 12:17:20 2007
Last write time: Sun Oct 7 12:17:20 2007
Mount count: 5
Maximum mount count: 32
Last checked: Fri Oct 5 18:00:12 2007
Check interval: 15552000 (6 months)
Next check after: Wed Apr 2 18:00:12 2008
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 128
Default directory hash: tea
Directory Hash Seed: 464bd877-8ff3-4193-8404-37b13de527dc
.............
.............
.............
and so on
as you can see the mount count is '5' out of '32', my understanding is on 32 mounts it is forced to be rechecked
Jeff
http://howto.wikia.com/wiki/Main_Page