Between 1995 and 2007, Castillo played for the New York Mets (1995–1998), St. Louis Cardinals (1999), Toronto Blue Jays (2000–2001), San Francisco Giants (2003), Kansas City Royals (2004–2005), Oakland Athletics (2005), and Baltimore Orioles (2007).
In a twelve-season career, Castillo posted a .220 batting average with 12 home runs and 101 RBI in 418 games played.
During his time with the Mets, Castillo helped end one of the longest scoreless opening day games in MLB history.
On March 31, 1998, he hit a full-count, two-out, pinch-hit single to right with the bases loaded in the bottom of the 14th inning to help the Mets beat their division rival Philadelphia Phillies 1–0 at Shea Stadium.
On February 14, 2008, Castillo signed a minor league contract with the Houston Astros and was invited to spring training.