Left hand and wrist injuries sidelined Choi frequently in 2001. He only hit .229/.313/.417 for the Iowa Cubs. Baseball America still rated him as the #14 prospect in the Pacific Coast League, between Denny Stark and Joaquin Benoit. They also kept him as the #3 prospect on the Cubs list.

Choi was named the Cubs' Minor League Player of the Year in 2002 by hitting .287/.365/.484. He led the club's minor leaguers in walks (95) and runs (94). He drove in 97 and hit 26 home runs. In the 2002 Futures Game, he was 0 for 2 as the starting first baseman for the World team. He was 4th in the affiliated minor leagues in walks, leading the Pacific Coast League in that category. He also led league first basemen in putouts (1,074). Lyle Overbay made the All-Star team ahead of him. He was 5th in the league in runs and OBP. Baseball America rated him as the #4 prospect among first basemen and #8 in the PCL between Colby Lewis and Bobby Hill and ahead of both Overbay and Travis Hafner.

He only batted .180/.281/.320 in a September call-up for the 2002 Cubs. In his major league debut, he was a defensive substitute for Fred McGriff. In his first at-bat, he struck out against Valerio de los Santos.

Choi hit .345/?/.714 for the 2002 Mesa Solar Sox - he would have set the new Arizona Fall League slugging mark, breaking Hank Blalock's record, but Ken Harvey fared even better. Choi was 5th in the league in slugging. Baseball America rated him as the #7 prospect in the league, right behind Morneau and two spots ahead of Harvey.

Choi was the NL Rookie of the Month in April when he connected for five homers, but it would represent over half of his season's total. He was sidelined for a spell when he collided with Kerry Wood on June 7 while going after a Jason Giambi pop-up. Choi struggled after that and was briefly returned to AAA. He batted .258/.351/.621 with 6 homers in 18 games for Iowa in 2003. Overall, he hit .218/.350/.421 while Eric Karros got most of the playing time at first base. Choi struck out 71 times in 202 AB but did show a great batting eye and good power (17 2B, 8 HR).

Choi had a productive campaign for the Dodgers in 2005, hitting .253/.336/.453 and tying for second on the team (with Olmedo Saenz, who he split first base duties with) in home runs (15). His 110 OPS+ was off a bit from his 116 mark of a year earlier. In the Home Run Derby that year, Choi represented South Korea and went deep five times, tying Andruw Jones for fifth among the 8 contestants and missing the cut for the second run. Other highlights included the first three-homer game by a player of Asian descent in MLB history, on June 12th. He homered six times in a three-day stretch from June 10-12, the 12th player in MLB history to have done so. He would be the last until Bryce Harper managed the feat in 2015. Surprisingly, his major league career would be over after that year. He had hit .240/.349/.437 in 363 major league games for a 107 OPS+.

Choi returned to South Korea in 2007, signed by the last-place KIA Tigers on May 10th in an attempt to rejuvenate their season. The deal was for 800 million won in advance payments, a 350 million won annual salary, and 400 million won in options. The initial plan was for 1B Sung-ho Jang to move to the outfield but this left the status of Larry Sutton questionable.

Choi listed his goals as helping KIA to a Korean Series title and breaking Seung-yeop Lee's KBO home run record of 56, both of which seemed highly optimistic. He made his KBO debut on May 19th against the Doosan Bears, going 0 for 5 with a strikeout. Choi hit .337/.386/.528 in 52 games in his first KBO campaign. Had he qualified, he would have tied Jun-hyuk Yang for second in average, one point behind leader Hyun-gon Lee.

Choi battled numerous injuries in 2008. He had headaches throughout spring training, missed about two months due to back problems and was sidelined later by left shoulder pain. He had two minor league stints and only hit .229/.295/.346 in 55 games when healthy.