The repeater and the text box definitely share the Master page, and the text box is definitely on the same page as the repeater.
I ended up resolving it by creating my own custom web part, where I used a standard asp.net repeater rather than the CMS Repeater. The problem seems to be trying to go "up the tree" to find something from within a transformation.