Peel shrimp, reserving shells. Coarsely chop shrimp into bite-size pieces, place in a medium container, cover, and refrigerate until ready to use.
Place 1 tablespoon of the butter in a large saucepan over medium heat. When the foaming subsides, add onions, carrots, celery, and reserved shrimp shells and season with salt and pepper. Cook, stirring occasionally, until onions are just tender and shells are pink but not browned, about 5 minutes.
Increase heat to medium high and add tomato paste, thyme, and bay leaves; stir until vegetables are coated in tomato paste. Add water, stir to combine, and bring to a boil. Reduce heat to low and keep at a lively simmer until broth has a shrimp flavor, about 30 minutes. Strain through a fine mesh strainer into a heatproof container; set aside and discard solids.
Wipe out any solids in the saucepan and return it to the stove over low heat. Add remaining 3 tablespoons butter and let melt. When butter foams, whisk in flour and cook, whisking frequently, until smooth and golden brown, about 4 minutes.
Slowly whisk in Cognac, then reserved hot stock, whisking until smooth, and bring to a boil. Add cream, cayenne, and reserved shrimp and stir to combine. Simmer until flavors have melded and shrimp is cooked through but not tough, about 8 to 10 minutes. Season with salt and freshly ground black pepper, if desired.