A couple of considerations:
1) Is the value of 'tag' in the tags table unique? If so, why don't you get rid of that id column and make tag the primary key?
2) $result is false only when the query ends with an error. To see if anything has been selected, use mysql_num_rows().
3) If you want to check if the tag already exists to avoid inserting duplicate tags, see consideration 1, or create a unique index on 'tag'. That way you can skip the select, and do an insert right away (which may fail with a duplicate key error, but you can manage the error displaying in a different way (not using 'or die') and ignore the duplicate key error.
4) $POST['tags'] is user input. So before using it's content in a mysqlquery, you must sanitize it. It's a string, so put it through mysql_real_escape_string().