Hallo phratora,
wenn ich alles richtig verstanden habe, ist Dein Problem doch so:
Mit angestecktem USB-Stick ist dieser /dev/sda (=hd0) und die eingebaute SSD wird zu /dev/sdb (=hd1). Ohne USB-Stick ist die eingebaute SSD /dev/sda (=hd0).
Der Fehler liegt am falschen Grubeintrag im MBR der SSD, ich hab's bei meinem eee 900a etwa so gelöst (rein aus dem Gedächtnis, es könnte ein kleiner Fehler drin sein):
Gleich nach dem Installieren des Systems vom Stick auf die SSD startest Du die Grub-Shell als root durch Eingabe von "grub".
- Dann gibst Du "root (hd0)" ein. Bin jetzt nicht sicher, könnte auch sein, daß Du die Partition mit angeben mußt, also z.B. "root (hd0,0)" - einfach ausprobieren.
- Anschließend "setup (hd1)", hier aber keine Partition angeben, damit direkt der MBR überschrieben wird. Es gibt ausführliche Meldungen: Du siehst also gleich, ob die entsprechenden Stage-Files für Dein Dateisystem gefunden werden.
Nun musst Du noch die "menu.lst" entsprechend anpassen und alles auf "/dev/sda/" bzw. "hd0,0" beziehen. Wo möglich, am besten UUID verwenden (wie bereits empfohlen).
USB-Stick abziehen und sich über den Bootvorgng freuen

Hat natürlich den Nachteil, daß USB-Stick bzw. Memory-Card erst nach dem Booten eingesteckt werden können.
In meinem Fall habe ich trotzdem eine Card ständig im Schacht. Wenn man auf dieser zusätzlich einen Grub-MBR einrichtet und die Einträge in der dortigen "menu.lst" auf das Boot-Verzeichnis der SSD verweisen läßt, genügt das Anlegen des "/boot/grub"-Verzeichnisses. So kann man mit und ohne eingesteckter Memorycard booten. Leider alles etwas tricky, aber es funktioniert
Viel Erfolg, L.W.