Imagino que con comparar el código fuente cada x tiempo sería suficiente.
Con un control WebBrowser y una orden que comentó un compañero hace poco quedaría algo así:
Código vb:
Ver originalTimer1_Timer()
Static CodigoAnterior as string
dim CodigoActual as string
WebBrowser1.Navigate "www.paginaweb.xxx"
codigoactual=WebBrowser1.Document.documentelement.innerhtml
if codigoactual<>codigoanterior then
if codigoanterior<>"" then msgbox "La página se ha actualizado"
codigoanterior=codigoactual
end if
end sub
No se si estará del todo bien, pero esa es mi idea.
Suerte