usa_pyonさん、こんばんは!
田中太郎と申します。
想定の挙動をされていない理由としましては、2つございます。
①「return eventしないと検索ボックスが生成されず」と書かれておりますが、
正しくは、テキストボックスが表示される前に、
$('#kuc_smaregi_searchbox').focus();
の行に到達してしまい、.focus()関数で、エラーが出てしまっていると思います。
そのため、
customer_search_space.appendChild(customer_search_box);
を非同期処理で行う等で、テキストボックスが表示されるのを待つのが良いかと思います。
②以下の、
$('#kuc_smaregi_searchbox').focus();
ですが、こちらですと、「ustomer_search_box」のdiv要素にフォーカスしてしまっています。
実際に、フォーカスを当てたいのは、もう数段階層が下の、input要素かと思います。
console.log(document.getElementById("kuc_smaregi_searchbox"));
等で、どの要素を指定しているか、確認すると良いと思います。
頑張ってください。