That's a very odd way to do it. I wouldn't concern yourself with list size at all.
I'd recommend a two stage approach, first identifying the node you want to remove, the removing it. A good way to keep things consistent is to have an empty dummy node at the beginning of the list, purely to provide the link to the next item (the first item or null) if there isn't one. This way you can write a generalised method which doesn't have to behave differently for the first item.
Node current = dummy;
while (current.Next != null && index--)
{
current = current.Next;
}
this will stop at the item before the one you want to remove, so to get it you just need current.Next which will be the item or null if you've gone outside the structure.
Then (if current.Next != null):
current.Next = current.Next.Next; // item removed!
It's best when building alogithms to steer clear of special blocks for edge cases (ie. first item, last item etc.)