Found and was able to fix two bugs, both in Param.GetParam().
After making a copy of my current save, abandoning and importing, World Viewer throws an InvalidCastException in modMain.CoordToPoint. Basically the issue is that since Param.GetParam searches directly for parameter names (i.e. "DIM") it'll find the first occurence.... which is what you want, except that in my case, completely by coincidence, my CREATURE_SEED happened to be 4xiKmOAIE0WhW
DIMsLng... so GetParam was grabbing "Lng" for "DIM" rather than ":257:257" (more on this in a second). The fix for this is just to add "[" to the beginning of the search string before searching fulltxt (i.e., change
Dim startTitlePos = fulltxt.IndexOf(str)
to
Dim startTitlePos = fulltxt.IndexOf("[" & str)
, this is line 192 I believe).
I found the second bug after fixing the first, since you don't account for the ":" after parameter tags those are substringed out as well (e.g. "4xiKmOAIE0WhWDIMsLng" for the seed becomes ":4xiKmOAIE0WhWDIMsLng"). This is a problem, since then the string splitting in modMain.CoordToPoint splits ":257:257" into three instead of two, so another InvalidCastException ends up being thrown. The fix for this is to change
Dim endTitlePos = startTitlePos + str.Length + 1
to
Dim endTitlePos = startTitlePos + str.Length + 2
, on line 193. After this it imports correctly (AFAIK, anyway).
You may want to take this fix with a grain of salt, as I didn't look around in the code too much other than this. It worked for me, though.
Other than that, cool project
I'm definitely planning on using this to look around my world when I have a little time later today, keep up the good work!