You have a basic misunderstanding of Hyper-V 2008 R2. The first being that all 24 cores are generally going to be accessible and can generally be used by the host (The physical machine running Hyper-V and the Hyper-V hypervisor itself). The 2nd being that 2008 R2 has a maximum of 4 cores that can be assigned to each guest virtual machine running on top of the Hyper-V hypervisor. The third, your performance increase (or decrease) would be highly depending on the application you are running within the virtual machine running on the physical host and what load any other virtual machines you might have running on top of the host are generating.
edit:
To answer the question for your edit: It's limited to 4 because that is the amount that Microsoft deemed would be supported in that version of Hyper-V. If you want a deeper answer than that, call up Microsoft support and ask them.