def fill_rcsv(field, name, position):
  candidate = search(name, field)
  for position in candidate:
    fill_rcsv(field, name, position)

要素だけ書くとこんな感じの再帰呼出しで、
複数回呼ぶとうまくいかない
  for position in candidate[0:1]:
みたいに1回だけにするとばっちり動く

再帰で何かが上書きされてるんじゃないかと疑ってるけど、
そんな筈は無いし、何がおかしいんだろう