Well, this is awkward. I had taken that code out of functions.php to try things another way. I pasted back in my code from above, tweaked a few var names as needed, and it worked perfectly fine (whether or not I had the [] in, tried it both ways). So whatever the problem in the code was, it must have been one of the extra bits that I had in there before stripping it down to post on the forum!
Thanks anyway for your response, apparently I just needed a sounding board 😉