Ryan made his major league debut on August 20, 1999 with the Diamondbacks against the Pittsburgh Pirates.[4] They were playing at Three Rivers Stadium, with 23,934 people attending the game.[4] In the top of the seventh inning, Ryan was asked to pinch hit for pitcher Greg Swindell, batting ninth.[4] With runners on first and third base, Pirates pitcher Marc Wilkins balked in Ryan's first at-bat, which made all the players on base advance to the next base as a result, with the runner on third, Steve Finley, scoring a run for the Diamondbacks. Ryan ultimately grounded out, second to first, on his at-bat.[4] In the bottom of the seventh, pitcher Dan Plesac was called to replace Ryan, pitching and batting ninth.[4] The Diamondbacks lost the game by the score of 5–4.[4]
On June 19, 2001, Ryan was traded by the Diamondbacks to the Oakland Athletics for Ryan Christenson.[2][3] He played his last major league game on October 7 of that year. One year and two days after being traded, on July 21, 2002, Ryan was purchased by the Boston Red Sox from the Athletics.[2][3] From this point, Ryan was signed, released, or granted free agency multiple times for about the next three years.
Ryan was then granted free agency on September 30, 2002.[2][3] On November 18, he signed as a free agent with the Toronto Blue Jays.[2][3] On June 19, 2003, the Blue Jays released Ryan,[2][3] who was signed three days later on June 22, this time by the San Francisco Giants as a free agent.[2][3] He was granted free agency again on October 15.[2][3] The Houston Astros signed Ryan as a free agent on February 5, 2004.[2][3] On June 18, he was yet again granted free agency, just to be signed almost a month later by the Florida Marlins as a free agent on July 19.[2][3] On October 15, Ryan was granted free agency, and was signed again with the Marlins as a free agent on November 11 after the season ended.[2][3]