おちゃめさんの書かれてるやり方が、分かりやすくてバグも出にくいと思います。
相談は解決してますが、自分の知ってることの整理もかねてプチコンでのDEFのルールを書いてみます。
・DEF FUNC OUT A,B,C
  と宣言したら、OUT変数は必ず全てDEF内で初期化しないとエラーになる
・DEF  FUNC()
 と宣言したら、必ずRETURNで値を返さないとエラーになる。使う側も X=FUNC()と返り値を受け取らないとエラーになる。
・DEF FUNC OUT A
  のようにOUT1つで宣言したDEF命令は、
   X=FUNC()
  の形で呼び出すこともできる。
・逆に、DEF  FUNC()
  の形で宣言した関数は、
  FUNC OUT X
  の形でも呼び出せる。
1そうだね プレイ済み
