Was reported by SkySQL folks, in the upgrade context.
What happens is that : my_copystat() function that is called near the end of myisamchk, calls stat(), which , on Windows, with Visual Studio 2010, returns an error on files larger than 4G (the struct stat is an ancient one , with 32bit st_size ).
Ironically, returning an error instead of truncated size is a bugfix introduced in SDK from VS2010 upwards, and was not seen in earlier versions of C runtime library.
There are variations of stat() (stat64, stati64) that can handle large files correctly. my_stat() behavior is correct, because it is using stat64.