This repros on Lift 2.3. How would you like me to submit the example? I can give you a github repo to clone if you would like.
Alternatively you could just create these two files and add them into your Boot.scala.
This code creates two WiringUI elements. The first (a) has an ajaxText instantiated within the WiringUI initializer. The second (b) has an ajaxText element that was instantiated before the WiringUI.
When changes occur to the first (a) no call-back is invoked on the server side. When changes occur to the second (b) a call-back is invoked. It appears that the first (a) has not registered its ajaxText function's callback.
package code
package snippet
import scala.xml.{NodeSeq, Text}
import net.liftweb.util._
import net.liftweb.common._
import java.util.Date
import code.lib._
import Helpers._
import net.liftweb.http.js.JsCmds
import net.liftweb.http.{WiringUI, S, SHtml}
class WiringUITrouble {
def render(xhtml: NodeSeq): NodeSeq = {
val theCell = ValueCell(5L)
def ajaxElement = SHtml.ajaxText("test box", x => {JsCmds.Alert("post-back worked!")})
val wiringElementA = WiringUI(NodeSeq.Empty, theCell)((number: Long) => (ns: NodeSeq) => {ajaxElement})
val ajaxElementB = ajaxElement; //Initalize outside of scope
val wiringElementB = WiringUI(NodeSeq.Empty, theCell)((number: Long) => (ns: NodeSeq) => {ajaxElementB})
<div>
<div>Change the text in the boxes below and then click outside of them (to change focus).</div>
<div>Box a and b both make ajax call-backs to the server, however only box b executes the handler.</div>
<div>We can also see that only box B has a registered function in the S.functionMap.</div>
<div>a: {wiringElementA}</div>
<div>b: {wiringElementB}</div>
<div>registered functions: {S.functionMap.map(_._1)}</div>
</div>