How to clear or rebuild a cached block for a specific user?
This data is stored in the block_cache bin under the cid format: 

&lt;MODULE_MACHINE_NAME&gt;:&lt;BLOCK_MACHINE_NAME&gt;:&lt;THEME_MACHINE_NAME&gt;:u.&lt;UID&gt;

Knowing that, you can build some wrapper function for cache_clear_all() that will delete any arbitrary UID's cached block:

function clear_user_block_cache($uid, $module = 'MYMODULE', $block = 'MYBLOCK', $theme = 'MYTHEME') {
  cache_clear_all("$module:$block:$theme:u.$uid");
}


You can invoke this function call whenever the user takes the relevant action.