To write a 2 character number, you need 3 characters, don't forget the terminating 0 byte.
Your code seems not to allocate the byte for the terminating 0 byte.
I'm also not sure why you are using ItoaMsg and not Itoa, the ItoaMsg prepends an secondary string in front, but in your code that additional string is always empty, so it does not do more than Itoa.
Also Itoa's main advanced feature seems to be to support to add a decimal point, to print the number
as fixed point number. Does not look like you need/want/use that so a simpler itoa would be sufficient.
In case you need the added decimal point too, it also needs an output character.
Daniel