When you mouse over to the control specified in TargetControlId, the WebCallOut will not directly appear. WebCallOut will appear if you hover to the control and wait for several milliseconds (default is 500ms). If the default DisplayLatency does not suit your scenario then you can change it by simply set your desire DisplayLatency in the WebCallOut's properties.