I double-checked, and...I had.
Just to be sure, I re-opened pk3DS, checked to see if my changes were still present in the .code.bin (they were), went to my US Dump folder, copied the .code.bin to my miniSD card (New 3DS XL user) - specifically luma/titles/00040000001B5000/exefs, and renamed it to code.bin (more accurately "code", because my system tends to selectively hide suffixes - for example, it hides .ips, .bin and .txt but not .3dsx or .firm, for whatever reason). I had also previously tried renaming it to "code.bin", but that didn't work either.
I have also previously installed UltraSuMoFramework (the best USUM cheat menu I've seen - got it from GBATemp, but didn't save the link) and three IPS patches from http://ftp.gbatemp.net/threads/usum-ips-patches.488802/ (specifically Shiny Lock Removal, mega-evolvED, and Bypass Mega Check).
Yet, when I go back in-game, TM45 is still Attract and still teaches Attract (I had thought the edit only changed what was being taught when the TM is applied to a Pokémon, but nope), Shiny chances are still normal, and Steel takes regular damage from Ghost and Dark.
What am I doing wrong?