no niestety- komputer ma wbudowany wewnętrzny zegar, dzięki któremu nawet po wyłączeniu i włączeniu kompa data jest prawidłowa. Jak użytkownik zmienia czas zegara to zmienia czas wewnętrznego zegara - wiec jeśli komputer nie jest połączony do neta, ani żadnej innej sieci to nie można pobrać godziny... Możesz jednak (choć nie wiem jak ;) ) sprawdzić sobie, czy użytkownik nie zmienił godziny (pewnie jakieś funkcje WINAPI ;P ) i wyświetlic stosowny komunikat...
A chyba nawet nie potrzebne bedzie WINAPI...
Może po prostu daj timera z interwalem, np. 5000 i OnTimer zapamietaj godzinę do jakiejś zmiennej, i sprawdzaj czy jest ona taka sama co godz. z poprzednich 5 sek. (musisz jeszcze oczywiscie te 5s doliczyć ;) ), jeśli tak to git, jak nie to przywracasz starą godzinę( + oczywiście 5s w moim przykładzie)
Jedyny sek tego rozwiązania to to że program musi byc cały czas Runtime (ale skoro twoj program zapisuje jakies dane przy wyłączeniu kompa to chyba jest cały czas włączony(ukryty pewnie)), a jak użytkownik zmieni godzine w Biosie to już w ogóle przekichane...