You don't seem to be updating the value of overallstarttime anywhere so this test
//track 6s time interval for stepper motor to run
if (currenttime - overallstarttime >= Timeinterval && stepping)
{
stepping = false;
}
will return true every time and stepping will be set to false every time.