I wrote this a while ago, but it still works just fine....
it is... handy 
// warpcat - 06-28-2002 warpcat@sbcglobal.net
// Select a joint or a surface.
// This script will reset any influences that aren't at the bind pose
// to their current position.
global proc WC_fixBadPose()
{
string $pickedNode[] = ls -sl;
string $BPName[] = dagPose -q -bp $pickedNode[0];
string $badPose[] = dagPose -q -ap -name $BPName[0];
if (size($badPose) == 0)
print "All influences at bind pose, no correction needed
n";
else
{
print "n";
print "Influences not at the Bind Pose: n";
print $badPose;
print "nResetting Bind Pose on bad influences...n";
system ("sleep 1");
select $badPose;
dagPose -reset -name $BPName[0];
string $badPose[] = `dagPose -q -ap -name $BPName[0]`;
if (`size($badPose)` == 0)
print "All influences set to new bind pose!n";
else
{
print "nThese influences still aren't in the bind pose:n";
print $badPose;
}
}
}