ちょっと文章を読んでも、何が問題で、何を困っているのかよくわからないのですが……、
空白の文字列を整数に変換した場合は、変換後は数値の「0」になります。
その数値の「0」を文字列に再変換した場合、変換後は文字列の"0"になります。
ですから「テキストには0があります」というのは当然のことです。
そもそも、数値をそのまま保存できるのがbsaveの良いところなのに、
なぜいちいち文字列に変換するのでしょうか?
文章を読んだ限り、現状では変数ひとつにつき1ファイルに保存しているのだと思われますが、
過去にこちらのスレにbsaveとbloadの使い方を書いていますので、参考までに。
http://hsp.tv/play/pforum.php?mode=pastwch&num=79008
あと、暇人氏の補足ですが、
>型は入ってる内容で決まるんじゃなく
>変数を作った時に決まる
これは、変数の型は、一度決めたら未来永劫変更できないということではありません。
代入文や、変数に数値を入れる命令を実行したタイミングで変数型は変更されます。
しかし、pokeやbloadといったバッファに直接書き込む系の命令では変更されません。
今まで文字列型として使用していた変数aを、これからは整数型として利用したい場合は、
a=0 などとするとよいでしょう。
逆に、今まで整数型として使用していた変数aを、これからは文字列型として利用したい場合は、
a="" などとしましょう。