As I understand it, your first sudo command should have failed with an error stating something like:
"Sorry, user uncle is not allowed to execute /sbin/fdisk as root"
The second example should work. As you are not specifying a user to run the command root will be taken as default.
When you specify a user:
disillusionist ALL=(uncle) /usr/bin/vi
You are stating that disillusionist can run /usr/bin/vi on any machine as the user uncle. To run that I would need to type:
sudo -u uncle vi test_file
As both seem to work I would guess that you have another entry in the sudoers file that is being evaluated.
Possibly something like:
%admin ALL=(ALL) ALL
This would mean that anyone in group admin could run any command as any user.