Fakt. MAC jak IP. Łatwo zmienić. Tyle że jeśli planujesz aby aplikacja działała na przeciętnym komputerze u przeciętnego użytkownika to identyfikacja po MAC jest w sam raz. Chyba że interesują cię komputery hakerów i script kides, którzy to często zmieniają MAC.
A nie lepiej wygenerować raz własny unikalny numer i zapisać go w ADS (Alternative Data Stream). Przeciętny user nie jest w stanie ci się dobrać do takiego pliku który jest zapisany w alternatywnym strumieniu danych. Ja swego czasu zapisywałem dane do pliku boot.ini. Łatwo to oprogramować. Zresztą do takiego pliku ADS możesz wrzucić film 700 MB i user się nie zorientuje bo zobaczy że boot.ini ma tylko kilkaset bajtów :-) . Minus jest taki że user musi używać system plików NTFS, ale w dzisiejszych czasach tu już standard.
Możesz też wyciągnąć numer seryjny partycji sytemowej. Ja do takiego numera dodawałem coś od siebie i zapisywałem w ADS. Przykłady jak pobrać numer seryjny partycji znajdziesz w gotowcach lub faq na tym portalu.
Co do płyty głównej - jak wiesz bios jest kopiowany do pierwszego megabajta pamięci ram, a potem wykonywany. Tam znajdują się dane biosu które można pobrać z systemu. Przykłady są gdzieś w sieci. Nie podam linków bo nie mam i dawno się tym nie bawiłem. Ale to będzie dłubanie w pamięci, jak coś zchrzanisz to na kompach będą się pokazywały DeathBlue Screeny.