If the SMART data is all OK then the HD can be ruled out but there can
still be file corruption that FSCK isn't correcting, or the number of
boots between checks has been set to 1 - i.e. every boot. Did you try
the command to set the number of boots between checking ? Might be
worth temporarily setting this to zero ( i.e. never check ) to see if
FSCK still runs on boot.
Also since this appears to have happened following an update then you
may have a bad update. Check the status bar in Synaptic for any bad
packages, if there are any click on [ Edit / Fix Broken Packages ] to
try and fix them.