The panel is added to the ortho layer so it is positioned in pixel coordinates. The shape is added to the screen and uses normalized screen coordinates. Linking the two will not work. You could get the window size and calculate the pixel coordinates to place the panel at:
Code:
windowSize = viz.window.getSize()
shapePos = self.s.getPosition()
self.panelLink = viz.link(viz.LeftBottom,self.tipTab)
self.panelLink.setOffset([windowSize[0]*shapePos[0],windowSize[1]*shapePos[1],0])