You just can't make the bootloader locked again. Reason is here.
Try to imagine that your phone is a fusebox. HTC when is developing any phone, has every fuse in place and every of them are okay. Then, they're configuring the device, like serial number, imei, all other things. They're removing some of them (this way writing all the infos like serial number), and then installing firmware to the flash memory.
And then. Some of these fuses are bootloader lock. Some are means that phone is development model. Some that phone has S-OFF.
Model is ready to launch. HTC is then changing few bits for security, then locking the bootloader (removing the fuse), S-ON (another fuse) etc etc.
Of course, phone isn't a fuse box, but it has something common - fuses. QFuses, to be exact. Inside Snapdragon cpu there are fuses, when HTC is buying a CPU from Qualcomm, every single fuse inside is intact. Then, by blowing some, every CPU gets unique serial number and configuration. When device is ready, you're getting it from the shop, there is still one fuse intact - saying that bootloader is locked. When you do fastboot flash unlock_token.bin, and choosing to unlock bootloader, a fuse is getting blown, and you just can't repair it. It will always say bootloader unlocked or relocked since then. When you do fastboot oem lock, of course, you do lock the bootloader, but just by the software, not by the hardware. Then your RUU will not help you with that what you want to do.
But anyway - you probably do use incorrect version of htc_fastboot, or, your RUU is broken. If the same file was OK through SD in download mode, then try to use different version of htc_fastboot program, as this one isn't trying to sparse file correctly.
Cheers