So i believe I may have solved this one finally after reading some of the tutorials on this site on reading the CBS.log file.
Here's a walk through of what I found and did so others might try if they have the same problem:
I looked for the pattern "(F)" in the CBS.log and found:
Code:
2020-02-29 03:39:34, Error CSI 0000006a (F) CertCreateCTLContext returned ERROR_INVALID_DATA.
[gle=0x80004005]
2020-02-29 03:39:34, Error CSI 0000006b@2020/2/29:09:39:34.353 (F) Attempting to mark store corrupt with category [l:14 ml:15]'CorruptCatalog'[gle=0x80004005]
2020-02-29 03:39:34, Error CSI 0000006c@2020/2/29:09:39:34.354 (F) onecore\base\wcp\componentstore\csd_winners.cpp(1627): Store corruption detected in function CCSDirectTransaction::AddImplicationsToCatalogsAndVerifyComponentHashes expression: 0
FileHashMismatch on resource '\winsxs\catalogs\3604a645cccbbc76da353c9e2cf0c9f0dc0145a71c4f49d43ceb241feb5f32a5.cat'[gle=0x80004005]
2020-02-29 03:39:34, Info CBS Added C:\WINDOWS\Logs\CBS\CBS.log to WER report.
2020-02-29 03:39:34, Info CBS Not able to add pending.xml to Windows Error Report. [HRESULT = 0x80070002 - ERROR_FILE_NOT_FOUND]
2020-02-29 03:39:34, Info CBS Not able to add pending.xml.bad to Windows Error Report. [HRESULT = 0x80070002 - ERROR_FILE_NOT_FOUND]
2020-02-29 03:39:34, Info CBS Not able to add poqexec.log to Windows Error Report. [HRESULT = 0x80070002 - ERROR_FILE_NOT_FOUND]
2020-02-29 03:39:34, Info CBS Not able to add SCM.EVM to Windows Error Report. [HRESULT = 0x80070002 - ERROR_FILE_NOT_FOUND]
2020-02-29 03:39:34, Error CSI 0000006d (F) STATUS_SXS_COMPONENT_STORE_CORRUPT #3144172# from CCSDirectTransaction::PrepareForCommit(...)[gle=0xd015001a]
2020-02-29 03:39:34, Error CSI 0000006e (F) STATUS_SXS_COMPONENT_STORE_CORRUPT #3144171# from CCSDirectTransaction::ExamineTransaction(...)[gle=0xd015001a]
2020-02-29 03:39:34, Error CSI 0000006f (F) STATUS_SXS_COMPONENT_STORE_CORRUPT #3144170# from CCSDirectTransaction_IRtlTransaction::ExamineTransaction(...)[gle=0xd015001a]
2020-02-29 03:39:34, Error CSI 00000070 (F) HRESULT_FROM_WIN32(14098) #3118632# from Windows::COM::CPendingTransaction::IStorePendingTransaction_Analyze(...)[gle=0x80073712]
2020-02-29 03:39:34, Error CSI 00000071 (F) HRESULT_FROM_WIN32(14098) #3114522# from Windows::ServicingAPI::CCSITransaction::ICSITransaction_Commit(Flags = 38, pSink = NULL, disp = 0)[gle=0x80073712]
2020-02-29 03:39:34, Error CSI 00000072 (F) HRESULT_FROM_WIN32(14098) #3114521# 8736934 us from Windows::ServicingAPI::CCSITransaction_ICSITransaction::Commit(flags = 0x00000026, pSink = NULL, disp = 0)
[gle=0x80073712]
Seeing the first problem is a .cat file in WinSxS (Windows Side-By-Side folder), specifically, "\winsxs\catalogs\3604a645cccbbc76da353c9e2cf0c9f0dc0145a71c4f49d43ceb241feb5f32a5.cat", I checked another Windows 10 PC in the house for that file, and found them to be different.
Remember that my hard drive had errors on it... I believe the copy of this file on my PC was probably affected by that.
Believing the .cat filename is some kind of hash that would be created uniquely based on the KB file the update came from, I made an assumption that another computer with an identical filename would probably contain the correct content.
So.. off to the other computer I found the exact same filename, but it was different (expected).
Being that my computer is not working anyhow, I made a backup of my "3604....cat" file (so I could put it back if needed), and figured I would just copy the other computer's version of the file into position. Sounds simple until Windows file ownership system steps in your way.
It turns out that system "Administrators" do not have permission to modify anything under the "WinSxS" folder, so I had to take ownership of the directory and the file first.
This involved some command line use of "takeown" and "icacls" as well as some of the GUI for Security properties that you can access via the right-click option on the file and folder.
After managing to get Administrators to be the owner of the folder and file, I added the "Full control" checkboxes for Administrator, which let me replace the file.
After that, I put the original ownership of the file and folder back to being "TrustedInstaller"
The main trick to this is restoring the ownership to TrustedInstaller... you have to type the name "NT Service\TrustedInstaller" in the username box when setting the ownership back.
After all this, I re-ran a windows update check, and it allowed the KB4528760 package to install.
Thankfully (for now), that was the only corrupted file in WinSxS.