Training a HMM with Baum-Welch gives different results across runs
It is impossible to locate the issue for sure without inspecting the implementation and results in more detail than is ontopic here. For instance, numeric algorithms always have potential issues related to the precision of the used number format, especially when dealing with (very small) probabilities.

That said, two notes.


Baum-Welch does only find local optima.
Insufficient training data can cause parameter estimations to vary wildly.


So I recommend you try more training data if possible. Otherwise, just run the algorithm many times and pick the best model (according to the likelihood of the training data according to the resp. model) you find.