Unflagging (by rule) doesnt show rightaway I have 3 flags in my custom content type "Movie" 
Seen , Unseen , Want to see...

these 3 flags are mutually exclusive , that is if a user has "seen" a movie he cant "unseen" the movie..

To make the flags mutually exclusive I have added rules , so whenever one of the flags are flagged, the other 2 are unflagged.

Now my problem is, when i flag a movie with say "seen" , the other 2 flags "unseen" and "want to see" are unflagged internally, but that unflagging effect is not visible on that page right away. When i refresh the page , then i can see those changes.

How can , i see the changes right away ??
I am assuming you are using flag's javascript toggle to set these flags, and if that's correct, you could hook into flag's flagGlobalAfterLinkUpdate event and refresh the portion of the page where your flags are set.  More details are here:  http://drupal.org/node/336122.  If you don't want to do this, you could always set the flag link to a normal link, which would refresh the page for you in of itself.