Believe me, I've thought about it! But it is, I think, a step too far
away from being a strict Lua superset for comfort.
There's no need to break compatibility: the only place were it would be mandatory are between a statement and an objective invocation, and between method declarations, i.e. in places that aren't plain-lua compatible anyway. Sure, it would be simpler for people to just put semicolons everywhere (rather than wondering whether they're required or not), but copy/pasting lua code blocks in olua files would just work.
Again, semilcolons are part of Objective Lua's syntax, so I don't see anything shoking about strongly encouraging their use in objective lua.
Actually, the [index/invocation] ambiguity goes away if you do enough lookahead.
Indeed, but Lua's ability to be parsed with almost no lookahead helps keeping the language simple and beginner-friendly. I would rather keep it as a good design constraint.