環境 OS:WindowsXP HSP:3.0Aです。
質問の内容と違っていたらすいませんが、
「#define」はただ置き換えてるだけです。ですから、
#define moji "asdfgh"
と
moji="asdfgh"
は同じ意味です。このあたりはヘルプ参照して下さい。
ただ、上の場合は6バイトの文字列ですが、
下の場合、事前に「sdim moji,1024」とした場合
1024バイトのメモリで6バイトの文字列を格納しています。
このあたりはプログラマーの仕様の範疇かと思います。
次に、実際に実行ファイルにしたときのサイズの例として
以下、151,714byte
#define moji "asdfgh"
以下、151,733byte
moji="asdfgh"
でした。
# また、上記環境で「#define」のマクロ定義できるのは255バイトまででした。
# (※文字列を定義するなら、「""」をはさむので253バイト)
# ちなみにマクロ名は変数の仕様と同じく59バイトまでかと思います。
# (※60バイトでもエラー出ませんでしたが、仕様に従う判断です)
駄文失礼しました。