Hi --
I need to first point out that you need to be careful with names like these, and when you create them -- if you create the name when the form is first opened, and the next available number is 2, but someone else opens a new form before the other form has been submitted, you could end up with a conflict (two "2"s).
So, you definitely want to do this at the time of submit, and if this is a heavily used form, you'll need to do something different -- use date & time to the second (or millisecond), for example, or leverage a database table and "reserve" file names for forms on open....
All that being said, the simplest method would be to query the library where the form submits, and pull back the form titles. It seems like it might be possible to use XPath to get the one that matches up to the final digit, and then some substring functions to return just the number after the dash, at which point you could increment the number.
Of course, this has its own set of perils -- a standard SharePoint list connection is going to pull back only items from the default view, and if you have a limit on items per page, I believe it will respect that limit. If your library is going to be huge, you'll be pulling in a pretty big list (since it is just title, maybe not too sluggish, but you'll need to keep that in mind).
So, I realize this may be discouraging -- and I kind of intend it to be -- you can use promoted properties in your library to expose these form values instead of relying on the name -- you could even promote a field that concatenates all the values w/out the number and group your view on that field, with items sorted by created date, which would give them to you in the same type of order than you would get from sorting by name with your naming convention. Use date & time in the file name to give yourself a better shot at uniqueness without all the fuss.
Just my somewhat unrequested 2 cents...