My rule of thumb is that when you hear "formal" you should be thinking "black / bow tie". Casual would be "no tie" so a "semi-formal event would require a shirt and tie. For a semi-formal burns night you would be fine in a kilt and a tweed jacket or Argyll paired with a shirt and tie. You certainly wouldn't be wrong.