@mitu Thank you and I'm sorry for not following what was clearly written down. In the future I will make sure I list all that is needed. In this case I figured out the solution but do appreciate the beginnings of the sites help.
Also make sure that it's not a USB3 problem.
RF interference from the USB3 ports on a Raspberry Pi 4 can knock out the 2.4Ghz Wifi band and the Bluetooth randomly. It can work fine one day and not the next.
I would remove any USB3 cables (by putting them in the USB2 ports) and reboot.
I was even forced to use a small USB2 extension cord on my NESPi case just to keep the USB3 SATA adapter stable. (it makes the device work at USB2 speeds)
Not sure what you mean by 'background' - are you referring to the frontend's background (EmulationStation) ? If yes, this is part of the theme that's currently active in EmulationStation - you can install other themes that may feature a different background or you can create your own. See the themes page for alternatives - not all themes are covered there, but it should give you an idea of what's available.
You can use your existing ROMs on the SSD, you just need to mount it first - easiest is from autostart.sh (which you can find at /opt/retropie/configs/all).
Since RetroPie expects each system to be under it's own directory in the roms folder, you should probably bind-mount your ROM folders under the existing system folder. Something like:
# mount the SSD first
sudo mount /dev/sda1 /media/usb0
# make sure each system is in the place with
mount --bind /media/usb0/NES_Games /home/pi/RetroPie/roms/nes
mount --bind /media/usb0/SNES_Games /home/pi/RetroPie/roms/snes
You can go without the bind mount steps if you modify the es_systems.cfg, but I think it's easier to map existing folders via mount --bind if the folder names don't match.
The biggest issue IMHO is the filesystem's permissions. Since it's ext4, you'll inherit the existing permissions and you'll probably have issues if the pi user cannot read or write to the ROM folders. By default, in RetroPie save states and game saves (.srm) are saved in the ROM folder. That may pose a problem if the pi user cannot write there, though you can probably change the save location in the global retroarch.cfg file.
Have a USB drive or SSD with same or larger capacity than your SD card.
When using an SSD SATA to USB adapter make sure it is fully UASP to get max. transfer/access speed. Here are some hints  - also this site has more details as I do provide below.
It goes like this:
Make a full backup of your SD-card (eg. with Win32DiskImager (<- easiest), Clonezilla, ...) to your desktop PC.
Put that backup at your USB drive / SSD (again using Win32Diskimager or the tool of your choice) on your desktop PC.
Resize the USB partition (only if the USB drive is larger than SD card).
Advise the pi to use a different partition after initial booting from /boot, handing over to the USB drive.
When you are done with the backup (Step 1 and 2 from above) attach both (SD card and USB drive) to the Rpi.
Remove any additional USB storage attached to the pi to avoid confusion.
Nothing has changed up to this point.
Note: Following steps are the crucial part - but no worries you have a backup. If something derails, you can back out by using the backup.
Step 3: Optional: Resize the USB partition (if USB drive is larger than SD card).
@beldar I don't notice tearing with SNES, NES, Genesis, Neo Geo, or Playstation. But I do notice it on Mortal Kombat 2 arcade which does run at a funky refresh rate. I also noticed it very badly with lr-flycast. Soul Calibur, MKGold, and NFL Blitz all had really bad tearing.