Witam
Przyjmij poprawne zalożenie, że HEXy GRBLa wgrywamy poprzez Xloader, tak zakładają twórcy i na tym się opieram, zwykle wgrywam wersję 1.1 chyba z literką f.
Nigdy nie próbowałem inaczej niż przez Xloader i zastanawiam się czy te wgrywania są równoważne, oprócz treści ważne jest miejsce od którego ładuje się program i Fuse Bits, nie zastanawiałem się czy Xloader nie modyfikuje tego.
Po drugie po podpięciu Arduino do komputera wejdź w menadżer urządzeń i sprawdź na którym COM zainstalowało się Arduino.
Clear EEPROM ma chyba rozpoznawanie wielkości EEPROM, w nowych wersjach nie trzeba zmieniać wielkości pamięci do kasowania.
Teraz sprawdź czy Twój program ma ustawiony taki sam COM jak ten wykryty w menadżerze i dopiero potem łącz.
Czego nie działa z Shieldem? mam pytanie czy to zasilasz zewnętrznym zasilaczem? z samego kabla USB zasilanie klapnie do dołu i po dobrej współpracy

.
Pytanie poboczne, jaki masz system, jeśli 64 bitowy to u mnie pojawiały się od czasu do czasu kłopoty, szukałem długo przyczyny i po przejściu na 32 bitowy problemy zniknęły !!!!
Sprawdź Shield z wyciągniętymi driverami, sam pobiera nikły prąd, jeśli bez driverów nie działa to szukaj zwarć na płytce.
Niedawno przerzuciłem chyba 6 takich zestawów i zero problemu, jeśli będziesz miał konkretny problem to pytaj póki mam to w domu i mogę sprawdzić to odpowiem jak jest u mnie w identycznych warunkach.