Yes, normally empty statements in for loops shouldn't do any harm.
However, lite-C doesn't seem to like empty comparison statements.

Please have a look at the following two examples. They seem to cause problems reliably.

1)

This script freezes the engine. i is never incremented even though it should.
Replacing the empty comparison statement with '1' solves the problem.
Code:
#include <acknex.h>

void main()
{
    int i;
    for (i = 0;  ; i++)
    {
        if (i > 10)
            break;
    }
}



2)

Open "infinite_terrain.c" from the samples folder and paste the following code right at the end of the script (after the main function):
Code:
void let_it_crash()
{
    int i;
    for (i = 0;  ; i++)
    {
        if (i > 10)
            break;
    }
}


Then run "infinite_terrain.c". The engine should crash immediately ("Script crash in SYS").
Replacing the empty comparison statement with '1' solves the problem.