You can call as many :SetPoint()s as you want. You can anchor topleft and bottomright for example. This is the main reason why it's very important to call :ClearAllPoints() before :SetPoint().
As for when a frame gets hidden, that entirely depends on how you code the placement of your frames in the event that something is not shown.