Yes, you have one of a few problems.
If you run out of inodes, you can't make new files.
vfat doesn't actually have inodes in reality, so it shouldn't be an issue, I think.
I'd run fsck.vfat (dosfsck) against it, just to pick up any errors that may be there.
I think you probably have some kind of filesystem corruption.
Also look at.. ils
http://www.sleuthkit.org/sleuthkit/man/ils.html
It prints out inode info. Maybe it has some clues.
Also what kernel are you running (it may be a bug that was fixed in the newest release)?