I take it you are using the older 2.5 control panel that has the Svc check boxes?
Usually in Vista the need to disable UAC seems to be essential as does running the control panels as an administrator to change the Windows Services behaviour.
You could use the version 3 control panel found in the xampp installation folder:xampp-control-3-beta.exe
Right click on it to select to run as an admin for best results.
Stop all XAMPP components and remove the ticks in the Svc check boxes then click on Exit in the older 2.5 version before starting this version 3 control panel.
Just to add, the latest and greatest Control Panel Version 3
download post is linked below my signature.
Simply extract all the files from the CPv3 folder in to the xampp installation folder and overwrite when asked - do not extract the CPv3 folder complete, only extract it's content.
Then right click the exe file to run as administrator and to create a shortcut to the desktop for example, for easier access.
Make sure that you have exited all other control panel versions before starting this latest version.
This version 3 (XCPv3) control panel has many new features including a much more detailed log window and a button to easily access the log files to help with troubleshooting start and running issues.
Also with the latest XCPv3 you can click on the Windows-Services button, find the Apache2.2 and mysql services and Start/Stop and uninstall the services manually if the XCPv3 fails to do it for you.
Again make sure that you have Stopped all XAMPP components and removed the ticks in the Svc or the Service columns before using this latest XCPv3.