Here's what you do... (What I had to do...)
Because of the 1024 Cylinder limitation you have to be somewhat sneaky with the way you do your partitions.
If you have 40 gigs to work with, and you want to use 20 for Win...
Create like a 4 gig "System" partition for Windows where the OS will sit.
Then install Linux where your boot partition also sits before 1024... all you need is less than 512 MB for your / mount...
Then install FreeBSD keeping it's boot slice still under 1024.
From there you can go back to Windows and create an Extended partition for your Apps/Data. Etc...
I know this is kinda confusing, but once you find the right combination on partition sizes / file system types, it works. I suggest using a utility like Partition Magic just so you can visually see where that 1024 Cyl sits and you can plan out your partitioning scheme prior to installing any of the OS's...
That's somewhat what I did, and it worked great.
Hope this helps a little and that I didn't confuse you more... hehe