In my 15+ years of web development, there are very few things I can say are unequivocally a good idea. It almost always does depend. Storing timestamps instead of booleans, however, is one of those things I can go out on a limb and say it doesn’t really depend all that much. You might as well timestamp it. There are pl...
To add to this: the DBMS may treat null as unknown rather than not set. This may be not immediately obvious or noticeable, but it means a check requires different syntax and even double checks for set and value. Using null as ‘cleared’ goes against the DBMS definition of what null means.
Sql server docs
As a side note: this difference in null behavior can become especially problematic when you use entity frame for to map tables and sql queries to C#. Because it’s not obvious and may not be known or seen.