How to hide the unflag link text once the flag is set?
In Drupal 7 you can use The Flag API (JavaScript) for this


  The flagGlobalAfterLinkUpdate event : This event is triggered immediately after a flag link has been updated. (Flag links appear in
  two flavors: "Bookmark this!" and "Unbookmark this!", and when we
  speak of "update" we mean this change in appearance).



    (function ($) {
        $(document).bind('flagGlobalAfterLinkUpdate', function(event, data) {
            if (data.flagName == 'yourFlagName' && data.flagStatus == 'flagged') { //dont forget to add your flag name
                var flgName = '.flag-'+data.flagName;
                $(flgName).hide('slow');
            }
        });
    })(jQuery);