I've considered doing something like this in the past, but I could never get it to look quite the way I wanted it to. That being said, I think you did a pretty good job. One thing though: you should be able to use the PNG file as the background by simply changing its extension to .jpg. This will give you a lossless background with no JPEG artifacts whatsoever (although I can see you used a high quality JPEG, so the difference probably won't be that noticeable).
Be sure to change the logon background once applied using a logon background changer, because it can have a tendency to reset itself, but all the other buttons will remain the same.
I have some information on why it keeps resetting itself. The "OEMBackground" registry value in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Background is not very reliable at all, as it can get reset frequently. One of the main causes of this is from changing to a theme with the "SetLogonBackground" value set to 0. Luckily, editing a .theme file is as simple as opening it up in Notepad, and replacing the 0 with 1 yourself.
However, a more permanent solution would be the "Always use custom logon background" group policy setting, which can be found under Local Computer Policy\Computer Configuration\System\Logon. This does exactly what it says it does, and it works 100% of the time.
If you're using a home edition of Windows, the same thing can be accomplished by editing the registry. Under HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\System, create a new DWORD value called "UseOEMBackground" and set it to 1. This will work as long as the Group Policy doesn't get updated, which won't normally happen unless you do it yourself.