#1
Apart from the fact that the activation should be once, not repeatedly, I can't see a problem here. Once means that it will check the condition continually until it changes from false to true (=> activate) then check until it changes from true to false (=> deactivate), then stop working. Repeatedly means that it will activate whenever the condition changes from false to true and deactivate whenever the condition changes from true to false indefinitely. In your example, if the trigger was activated, it would tell you that you had repelled the uprising. Then, should the soldier ratio become unfavourable, then favourable again, then you'd get the message again. OK, all of that doesn't really matter so much if it is being used as an end trigger, but I felt it might be useful for the future that I explain this.
#2
The big problem with this trigger is that living civilians, all corpses (from all factions) and many other objects are actually part of the civilian side. Thus, you could kill civilians all day, and the trigger wouldn't fire since living civilians would just be replaced by dead civilians.
-Activation: CIVILIAN PRESENT - Once (no need for repeatedly, since this only happens once)
-Condition: ({ (_x isKindOf "Man") and (alive _x) } count thislist) < 27