OMSI is great at recovering from issues and when it does fail, it always does so with messages that reveal exactly what happened and why, with no level of ambiguity. </sarcasm> Complex Computer-y Bit:
OMSI uses Direct X 9 to do all of it's graphics stuff and the 3D bit is known as "Direct3D", often abbreviated to "D3D". The "D3D Device" is essentially the render engine - the bit that the OMSI code is talking to for all of the drawing to the screen. There is a method to reset that device, which basically empties all of the geometry, textures, etc., out of memory and starts afresh. For some reason OMSI does this quite a lot. What's happened here is that OMSI has tried to do that but it hasn't worked. The reason it's given means "The method call is invalid. For example, a method's parameter may not be a valid pointer." which would be a great help if we were developers of the program, as we could go and look at why that error was thrown. Unfortunately we're not, so it's essentially useless. Is it bad?
Well, it crashed, so that's objectively bad. But as we have no idea why it failed to reset, there's nothing we can do about it (even if we did know why, we can't edit the code of OMSI and the developers aren't updating the game anymore, so it's very unlikely we could), so there's no point worrying about the error. Also OMSI crashes all the time because it's unstable, so scary-looking error messages are quite common.