In a Dutch oven, combine the first eight ingredients. Bring to a boil. Reduce heat; simmer, uncovered, for 2 minutes. Cool completely. Strain half of the marinade; cover and refrigerate.
Cut slits into each lamb shank; insert garlic slices. Place in a large shallow nonmetallic bowl; add the remaining marinade. Cover and refrigerate overnight.
Drain and discard marinade from lamb. Place flour in a shallow bowl; coat lamb shanks with flour. In a stockpot, brown shanks on all sides in 1/3 cup oil in batches. Remove and set aside.
In the same pan, saute onions in remaining oil. Add reserved marinade. Return shanks to the pan. Bring to a boil. Reduce heat; cover and simmer for 1-3/4 hours. Add carrots and return to a boil. Reduce heat; cover and simmer 15-20 minutes longer or until carrots are tender.
Remove shanks to a cutting board. Skim fat from cooking juices. Stir in cookie crumbs and bouillon. In a small bowl, combine cornstarch and water until smooth; gradually stir into juices. Bring to a boil; cook and stir for 1-2 minutes or until thickened. Return meat to the gravy; heat through.