well i come with a possible explanation:
I guess you clicked really quick the \"buy\" icon, that sended lots of petitions to train to the server in a short period of time, then the server sent to you, also in a short period of time lots of packets saying \"you successfuly trained\" and also \"you don\'t have enough money\" because you clicked that fast. As i guess those packets are UDP, they have no order, I mean, they are displayed as soon as they arrive, without knowing if one was sent first than the other; the fact that some packets could have taken a \"longer way\" to reach your pc makes me think of a justification of those messages not appearing in order.
Obviously all this hypo. gets destroyed if you really _know_ that you trained the skill further without having money in your pocket. In that case, it\'s indeed a weird bug.