the checkversion.exe needs to have been set to the same version number that you have your client set to, in your server files for the checkversion there is a file called "version.in" or "version.dat" depending on what files you're using.
Inside it should look something like this
[version]
top_version = 1
old_version_num = 0
ftp_wangtong_num = 1
ftp_dianxin_num = 1
patch_num = 0
version_0 = 1
[patch0]
version_low = 01
version_high = 02
path = gongfu_00_01.cpk
md5 =
"top_version =" indicates the version number your files think the client should be, which if you want can be 1, which would mean your client version will after my steps ahead show on the patcher as 1.0.1, so for the sake of trying to fix, set this as 1.
"old_version_num" indicates the version that precedes the current, so if you patched from your now "1.0.1" to "1.0.2" then this value would be 1 since your new current version would be 2, which would when you make the patch replace the 1 used in top_version.
The next two entries refer to the ftp used for auto-patchingwhich I don't think are relevant to you as yet.
Now the last 2 matter, "patch_num = 0" and "version_0 = 1" the first of these determines what version of your entries will be used to patch to, so if you enter "0" then the default 1.0.1 will be as far the the server tries to patch a client(so, no patching to log at all, since 1.0.1 is your starting point unpatched) the default version will be 1.0.1 because of the next option "version_0 = 1" the version_0 = determines what version number will be used as the base version, so entering 1 will make it 1.0.1, entering 2 will make it 1.0.2 etc..
Of course the final part at the bottom refers to the name and md5 checksum of the patch file, which in this case is irrelevant because there is no patch as yet so it may be left as is.
More modding would be needed if you plan on having an auto-patch to change version but I don't think this would be in the scope of your question so I'll leave it out.
I hope this has explained the use of this file and how it relates to your issue, to sum up your problem, if you amke the checkversion.dat/ini look like what I quoted above, then go into the version.dat in your client and set the 5th byte as the decimal value 01(which is the same in hex in this case) then it should work fine. The "top version" must match the final number in the sequence of "version_0 = 1" part, so after 1 more patch you would have top version as 2 and instead of just "version_0 = 1" in that area you'd have this:
version_0 = 1
version_1 = 2
This sequence continues to increase patch by patch.
Anyway, this may seem like a big answer and maybe complicated but as the old saying goes
"Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime."
Hope I helped you solve your issue.