In a bowl cream butter, cream cheese and sugar until fluffy. Add egg and vanilla; beat until smooth.
In a medium bowl combine flour, baking powder and salt. Add dry ingredients to the creamed mixture. Stir till soft dough forms. Divide dough according to however many colors you plan to use. Tint each with a different food color. Wrap in plastic wrap and chill for 2 hours.
Preheat oven to 350 degrees F. Shape dough into 3/4 inch balls and for each cookie place 3-4 different colored balls together to make 1 large ball. Roll it just enough to form a rough ball, then shape into a 12-inch long roll (like a snake).
Starting at one end, coil roll to make a 2 3/4 inch round cookie. Place cookies 3 inches apart on lightly greased baking sheet. Carefully insert lollipop sticks into bottoms of cookies.
For hearts, follow the instructions above. After inserting the stick, use your fingers to squeeze the dough at the bottom of the circle and combine at the stick, then use a separate lollipop stick or a butter knife to create an indent in the top and shape the heart.
Bake cookies for 8 minutes or until lightly browned. Cool and store in an airtight container.