The White House had said Mr. Bush was going to also use his Veterans Day speech to scold Congress for not sending him a veterans spending bill. But the president finished without any reference to the bill or Congress.
"In their sorrow, these families need to know - and families all across our nation of the fallen - need to know that your loved ones served a cause that is good and just and noble," said President Bush. "And as their commander in chief, I make you this promise: Their sacrifice will not be in vain."
The president, who will be back at the White House on Monday, was in Texas for the holiday, following his two-day meeting with German Chancellor Angela Merkel at his ranch in Crawford.
He went to American Legion Post 121 in Waco, Texas, which was honoring four Texans who were among the more than 3,860 members of the U.S. military who have died in Iraq since 2003. They are Army Spc. Javier Antonio Villanueva of Bellmead, Army Spc. Jeffrey Paul Shaffer of West, Marine Lance Cpl. Johnny Ray Strong of Waco and Marine Gunnery Sgt. John David Fry of Lorena.
Post Commander Clayton Hueske admitted being nervous, but said he was proud to have President Bush in attendance at the emotional event, which ended with the audience joining a soloist in singing "God Bless America."
A bugler played taps. Post officials offered comforting words to the fallen troops' families and presented them with honorary plaques and flags that have flown over the state capitol.
"These men and women saw the future of the terrorists' intent for our country and they said with clear voices, 'Not on my watch,"' Bush said of the troops.
"America is blessed to have such brave defenders. They are tomorrow's veterans and they are bringing pride to our country. Their service is noble and it is necessary," he said. "The enemies who attacked us six years ago want to strike our country again, and next time they hope to kill Americans on a scale that will make 9/11 pale by comparison."
President Bush has spent four of the past six Veterans Days at Arlington National Cemetery. This year, Vice President Dick Cheney went to Arlington to pay tribute to Iraq veterans.
In a 10-minute speech, Cheney said soldiers from World War I to "the current fight against terrorism" have served their country valiantly and "kept us free at the land we call home."
"Free to live as we see fit, free to work, worship, speak our minds, to choose our own leaders," the vice president said. "May the rest of us never take them for granted."
Hundreds of people of braved the crisp November weather to witness Cheney's tribute and they cheered when he offered personal regards from Bush. Cheney placed a wreath on the Tomb of the Unknowns, pausing to straighten the ribbons on the front.
Cheney quoted Gen. David Petraeus, the top U.S. commander in Iraq, in saying troops there are fighting in a complex and challenging situation, and praised them for a "magnificent job."
"Our conduct of our military today and throughout our nation's history makes this country very proud," Cheney said. "It is our prayer they will return in victory, safely home, to live out their lives and be here to observe many Veterans Days to come."
In previewing Prsident Bush's speech, the White House had said he would criticize Congress for not sending him the appropriations measure that funds programs for veterans.
The veterans bill has gotten caught up in a larger battle between Bush and Congress over Democratic efforts to add about $23 billion for domestic programs to Bush's $933 billion proposal for all agency budgets.
In a joint letter Saturday, House Speaker Nancy Pelosi and Senate Majority Leader Harry Reid told the president that the Democratic Congress wanted to work with him on spending bills.
"Key to this dialogue, however, is some willingness on your part to actually find common ground," they wrote. "Thus far, we have seen only a hard line drawn and a demand that we send only legislation that reflects your cuts to critical priorities of the American people."
The White House said there is no reason why Congress could not have sent the bill to the president by Veterans Day, as he requested, except that lawmakers wanted to attach it to other bills the president has said he would veto.
Once President Bush was at Sunday's ceremony, however, he decided not to mention the budget fight.
Afterward, White House spokesman Gordon Johndroe said Mr. Bush "significantly shortened" his remarks because the ceremony had already been more than an hour long. "I think he felt it was more important to shorten the remarks and meet with the families as scheduled," Johndroe said.