We have no idea why Windows in your case can not handle the dynamically allocated virtual disk. It may be worth to check the filesystem integrity or perform a defragmentation from your Windows guest OS.
Nevertheless we can easily change the size of a dynamically growing virtual drive reported to the guest OS by issueing the following command run in a terminal:
VBoxManage modifyhd <uuid/name> --resize <newsize in MB>
Replace with the uuid or the filename (full path needed) of your virtual drive. These can be listed with the following command:
VBoxManage list hdds
After having resized the virtual drive we will then have to adapt the partition table of the guest to altered drive's size.
In Windows 7 go to Computer Management -> Disk Management to view new unallocated space (shown after resizing with adding 10 GB to the drive):

Right click on this unallocated partition to select "Extend Volume..." to increase the partition size. You may also do this with booting an Ubuntu live .iso on this virtual machine to resize partitions using gparted.
More details here: Virtual Box User Manual
See also: How do I increase the hard disk size of the virtual machine?