Well, Gparted Live (
here) worked a treat. A few points to note - I'm not trying to teach your granny to suck eggs as the saying goes but some reading this may be newish to Macs and not know a few points.
Create a bootable USB flash drive or CD with the above ISO burn.
Take the old HD out of the Mac and install the new SSD/HD.
Place old HD in a USB caddy to be able to copy from.
To boot from the GParted USB drive hold the Option (alt) key down as you turn on your Mac.
After 10-20 seconds you'll see a list of Bootable partitions, which should be OSX, Windows and Recovery HD version on the (now) external drive, plus the GParted ISO.
Select the Gparted ISO and click the arrow beneath it.
Once it boots accept the default option (just hit return).
It will then go into a command type window and again accept the defaults (US English) and then '0' (can't remember what it stands for but is the default.)
It will then go back into a graphical interface.
Without going into all the ins and outs you select a partition on the old drive and click copy, select the new disk and click paste and then click the green tick to apply.
Work down the old disk until all the partitions have been copied.
Shutdown.
DISCONNECT THE OLD DISK IN THE CADDY.
Restart when all done.
If you just boot now you will get a message that no operating systems are installed on the drive.
Again you need to hold the option (alt) key down as you restart.
This time you will see the OSX, Windows and Recovery portions on the new disk listed.
Select the Recovery Partition.
When that boots you need to go to Disk Utility and run that.
Select the new disk and click on FIX.
This will repair the boot sector and once run and rebooted all should be fine.
At least it was for me and my system is back up and running fully on the new SSD.
I hope this helps.
One thing I forgot to mention, before you start all this, in OSX run Disk Utility on the root of the disk and the OSX partition. Then boot into Windows and run CHKDSK /F on the Windows partition - Windows will force you to restart before it can run the FIX so do that. Any errors on the partitions need to be fixed before you start the cloning.