но я не могу гарантировать, что это как-то скажется в лучшую сторону на быстродействииИ никто не может. Чтобы это сказать нужно больше информации. Может там у вас не только в сети дело.
Как сделать так, чтобы одна операция не начиналась, пока не закончится другая?Ничего делать не надо, все так и работает по умолчанию.
У меня проблема в том, что программа запускает пункт 2 и не дожидаясь, когда месяц закроетсяВы же сами сказали - у вас закрытие месяца делает совершенно другая программа - обработка закрытия месяца.