FBI agents arrested Mark Grabowski, 53, at the River Hills Lodge in Platte, S.D., where he had taken a job after fleeing Michigan, Livingston County Sheriff Bob Bezotte said.
Grabowski, of Livingston County's Hartland Township, was supposed to bring Connor Grabowski-Cracchiolo back to his mother in St. Clair County's Casco Township on Aug. 30, but the boy never was returned.
Grabowski is charged in a federal criminal complaint with unlawful flight to avoid prosecution and unlawful retention of a child by a parent. He faces extradition to Michigan.
Mari Monda told The Associated Press Friday that she saw Grabowski and Connor when they stopped at a cattle ranch where she works summers in Butte County, S.D. That was in mid- to late-August, said Monda, who also operates a horse training farm in Livingston County's Brighton Township.
"He did stop by here with his son late in the day," Monda said by phone from Nisland in northwest South Dakota. "They were literally here for a few minutes. He was on his way to Montana or coming from Montana."
Monda said she had sold hay to Grabowski in Michigan, and told him last year that she would be in South Dakota during the summer and he should stop by if ever in the area.
Connor appeared to be fine during their short visit last month, she added.
Conner had appeared in a video posted Thursday on YouTube that showed him in a room talking directly into a camera and saying he "was not kidnapped."
"I came on my own will," the boy said in the video. "The reason I came is because I just wanted to get away from my old life and start a new one."
Bezotte said it appeared Connor was coached in the video.
The criminal complaint said Grabowski was planning to leave the U.S. and establish a new life of his own in Costa Rica.
"Grabowski has apparently abandoned his residence in Livingston County and efforts to contact him have been unsuccessful," FBI special agent Robert Schmitz wrote in an affidavit accompanying the complaint.