Having data in c: and the OS etc in d: does seem a backwards way to go about it all?
If a drive has a single Primary partition - and an Extended partition, then all (M$) OS will install the basic boot/start-up files to the Primary; but you have the option to install the actual system files (the OS itself) in the Extended partition. The only exception to this (for M$ OS) is DOS and win2x/3x; they put everything in the Primary. Boot/start-up files (for M$ OS) have to be in the (active) Primary.
There are various possible solutions for you to think about...
One is to have two Primary partitions. Install the OS etc. to one, use t'other for data. The partition with the OS etc. installed will be set as the active Primary. Ideally it's the first Primary = the OS etc. but as you are not keen to start afresh... if you have PM (or SC) you could use that util to convert the current Extended partition (d: ) to a Primary; then run an XP repair to make it bootable - it will be missing the XP boot-files... Then you can reformat the current (only?) Primary afresh and use for data only - to your heart's content... As far I can determine, XP (unlike NT/W2K) does not have an issue with a boot-code boundary; so having it installed in a Primary that may be some way physically into a drive wont't present the problems it does for NT and W2K? However I'd be loathe to go this route without first backing up 'all' my data - off the system entirely, and being prepared if necessary to start afresh, should this route not be successful... If XP was in the first Primary (in a dual-primary situation) there would be no need to consider the boot-code boundary issue at all.
But if willing to start afresh... then either partition the drive along the lines of:
Primary c: = 15-20Gig (should be more than enought for most useage?) = OS/apps/utils etc.
Extended = balance of drive; subdivide into two or more logical-drives for ease of data organisation/access/defrags etc?
XP (setup) can create its own Primary etc; XP's Disk Admin will be used later to create the Extended partition, and subdivide into two or more logical-drves - for data only.
Or you can use '98 bootdisk utils to create the Primary (formated as fat32 - can be reformatted as ntfs during XP setup); and also the Extended partition but left unformatted etc. - use Disk admin later...
A variation: use '98 boot-disk to create a small (100Megs or so) Primary; also establish/configure the Extended partition - but no need to format it.... Make the small Primary fat16; this is the most efficient format for partitions under 540Meg, (and it will have only the XP boot-files installed there). Then run XP setup and allow it to create its own partition (a logical-drive in the Extended area) and use XP's Disk Admin to configure balance of drive(for data) later.
Another option (and it will need PM or SC or similar utils); shrink the current C: Primary to around 100Meg or so; extend the current Extended partition to take up the slack, then use PM/SC to create an additional logical-drive in the Extended partitin - for data only... Make this one to appear after the OS etc. (This avoids your having to go a fresh start...)
This way you have the c: active Primary for boot-files only; OS etc. in first logical-drive; data in second. And you could create more logical-drives if so wished?
In all cases back-up data first... just to be safe/sure.