According to an interview with Shia, the role came down to he and Casey Affleck, but they chose Affleck because Shia was too young.
Shia was originally cast but dropped out after being in a car accident where he injured his arm.
Shia LaBeouf was originally cast as the lead but it conflicted with I, Robot.
LaBeouf was considered for the role of Jimmy Olsen before Joseph Nichols' departure.
Did you know that Shia LaBeouf was not the only choice for this movie? (click to learn more)