Quanto al tuo problema, è normale, il metodo che stai cercando di usare serve solo per i file memorizzati su file system locale. Per verificare se una risorsa fornita via HTTP è stata modificata da una certa data, devi costruirti una richiesta HTTP con l'header If-Modified-Since, cosa che in .NET si può fare tramite la proprietà HttpWebrequest.IfModifiedSince (guarda l'esempio in fondo alla pagina).