I believe it's related to aligned memory access on arm7 processors. Namely the CScScript::GetFloat() method is probably the culprit. It should be changed to something like this:
double CScScript::GetFloat()
{
double ret;
memcpy(&ret, m_Buffer+m_IP, sizeof(double));
m_IP += sizeof(double);
return ret;
}
I'm just guessing here, though.