Why this thumbnail hard crop code does not work?

You are using the size parameter of wp_get_attachment_image_src in a wrong format. This parameter can be:

  • A string: keyword of the image size; thumbnail, medium, large, full or any other custom size previously registered).
  • A 2-items array representing the width and height; for example, array( 100, 100 ).

So, you have to change this:

$thumb = wp_get_attachment_image_src($tid, '100x100'); 

With:

$thumb = wp_get_attachment_image_src( $tid, array(100,100) );

And this should also work for thumbnail size:

$thumb = wp_get_attachment_image_src( $tid, 'thumbnail' );