The "[Warning] '1' has no effect on code" isn't a bug in the compiler, it's a bug in the script, sort of.
Look at what you have... to make it more clear, I'll replace some of pieces with tempN variables:
+ (+ nsTop (>> (- h rect[rtBOTTOM]) 1) 1)
+ (+ nsTop (>> temp1 1) 1)
+ (+ nsTop temp2 1)
But + is a binary operator (in Brian's SCI language at least). So you have a 1 that isn't being used (this causes the compile warning). You also have a + that needs another term, and it uses the one from the next parameter to the Display function. This causes the run time error you see.
The '1' should be moved outside the parenthesis. It should be:
+ (+ nsTop temp2) 1
or to expand it out again...
+ (+ nsTop (>> (- h rect[rtBOTTOM]) 1)) 1
Make this change, and it will compile w/o warnings, and run without the "text 100 not found" error.
Brian's compiler is kind of sloppy in when it decides to look at parentheses. It's hard to emulate that in my compiler :-). So that allowed him to write code that wasn't syntactically consistent, but which happened to compile and do the right thing.
But I did insert warnings to indicate when my compiler detects some code that has no effect. This usually indicates that some parentheses are mismatched, which will cause problems with my more strict compiler, but which Brian's compiler happens to do the right thing (presumably).
btw, Eigen, you never answered the questions from the previous bug you reported (further up in this thread - the program crashing)... if you could, that would be great!