Before you replace the key fob, try changing the battery in it. It should be a CR2032.
Programming instructions are here:
I've got a 2004 Silverado with over 270,000 mi on it & I use 15W40.
When I was working with a defense contractor overseas 2004 - 2020, the company I worked for had a fleet of over 200 Tahoe's, Suburban's, and Silverado's (or the GMC equivalents) with the 4.8L, 5.3L and 6.0L engines that were fed a steady diet of 15W40 from the first oil change after delivery (new) to late 2018 (when we were forced to turn them in). Much of the fleet had over 500,000 km on them with no major engine repairs (they got the normal stuff - Sensors, Water pumps, Fuel pumps, and Oil pumps (and especially the O-Ring on the oil pick-up tube), etc.
I trust 15W40 in my LM7.
When it gets to the point when yours needs knock sensors, you may want to look at relocating them. There's a kit that allows you to move them along the oil pan rail (like the later LS engines) You can't use the later knock sensors because they won't talk nice to your 2004 ECM. This way you can avoid having to pull the intake to replace them if needed.
The links are here: LS Gen III Knock Sensor Extension – 36” WEKN030-36 (ictbillet.com) (ICT# 551216-KN30)
LS Gen III Knock Sensor Extension – 36” WEKN030-36 (ictbillet.com) (ICT# WEKN030-36) Don't worry that the links look the same, they will take you to the correct page that you need to be on for each part. The harness is made with GM sourced parts. Make sure that you use AC Delco knock sensors & ensure that the mounting surfaces on the engine block are clean to get a good electrical connection. You may be able to find the parts cheaper if you search by part#.