I dug deep into the character file handling in server.dll last night to figure this out. Any time FLServer needs to write to your file to update it, the timestamp within is changed. Equipment/cargo change, reputation change, docking, undocking, and changing systems will all do it. Logging in and out won't since FLServer doesn't strictly need to update your character file in that case -- tstamp is solely the time of the last change, not the last login.
The /time command definitely does not update character files. It literally just prints the time to the player's chat log.